在linux中,文件名可以包含可执行代码吗?[已关闭]

问题描述 投票:0回答:1

最近下载文件夹里出现了这个。

文件是空的,但文件名是。 ''$'$001/331/006''@f2@8''$'$'$037/036/006/004''@@'$'240/002/240/002b/003/004/340/002/340/002/340/002/034/034/001/001/004/250/210/002/250/210/002/020/001/005/220/002/220/002''e'$'$'222'

这让我很困扰,因为它看起来像$unicode_chars,很多都是命令吗001标题开始331不知道006接受char/004传输结束。

无论如何,这样的文件怎么会出现在你的电脑上?

linux security
1个回答
2
投票

Linux文件名可以包含任何字符,除了空字符(0/0)和斜线字符(目录分隔符) 1. 所以,是的,一个文件名可以包含可执行代码或任何类型的数据。但这并不意味着可以执行。操作系统提供的功能只有文件操作,比如打开文件,目录列表等。要想执行代码必须在文件里面,而不是在文件名上。

1 https:/en.wikipedia.orgwikiFilename#Comparison_of_filename_limitations。


0
投票

最近下载文件夹里出现了这个。

你(不是你的电脑)要对你的下载负责!

无论如何,这样一个文件怎么会出现在你的电脑上?

闻起来像是你的电脑(或你不小心下载的电脑)被某些人入侵了。脆弱性网络攻击或一个非常错误的程序(与 缓冲区溢出)被不小心运行了。

另一种可能是严重的硬件问题,如硬盘或SSD死机、内存故障、宇宙射线、不小心断电,损坏了一些文件。文件系统.

考虑使用 strace(1), 全球开发银行(1), fsck(8), dmesg(1) 来调查更多。

仔细备份你的重要数据前。

© www.soinside.com 2019 - 2024. All rights reserved.