浅谈短文件名漏洞
短文件名漏洞:
为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。
比如说,如果我在我存小片片(划掉)存工具的E盘里创建了一个名为abcdefghijklmnopgrstuvwxyz.avi(某讯拦截这个亲切的拓展名,改成全角字符才能打出来)的文件
用dir /x命令查看
OK可以看到他生成了一个短文件名ABCDEF~1.AVI(某讯拦截这个亲切的拓展名,改成全角字符才能打出来),经过观察可以发现,短文件名只显示前六位。
短文件名漏洞存在要求:
短文件名漏洞需要两个要求,第一网站用aspx,第二是windows环境。
其中,如果为容器为apache且运行在windows下,遇到可以下载的文件,并且文件名还很长,那么无需猜解长文件名,直接用短文件名就可以下载了。
一想到可以用这个来日apache的某国大片网,免费下载付费大电影,想想都刺激~(咳咳,言归正传)
短文件名漏洞验证:
首先杀掉几个网管祭出payload:
/*~1****/a.aspx
浅谈短文件名漏洞/l1j1e*~1****/a.aspx
浅谈短文件名漏洞如果用第一个payload:/*~1****/a.aspx显示的是404.用第二个payload:/l1j1e*~1****/a.aspx显示的是400比如“错误的请求Bad Request”之类的话那么久确诊无误可以上他了
接下来我们猜他有没有存在一个开头是a的文件,payload:/a*~1****/a.aspx
浅谈短文件名漏洞OK,返回404,存在a开头的文件,继续以a开头abcde往下猜,payload:/aa*~1****/a.aspx
浅谈短文件名漏洞没有开头为aa的文件,试试ab
浅谈短文件名漏洞存在ab开头的文件,继续以ab开头abcde往下猜,payload:/aba*~1****/a.aspx
就这样慢慢猜猜完所有a开头的猜b,然后cbdefg,然后猜数字猜数字+字母,猜完为止。
接下来要考虑一个严肃的问题,怎么判断他是不是文件夹呢?
比如说我们猜到了/access~1****/a.aspx
浅谈短文件名漏洞只需要删掉那四个*就ok啦。payload:/access~1/a.aspx
如果还是404,那就说明这是个文件夹
浅谈短文件名漏洞接下来,光知道是文件没卵用,还要知道是什么文件接下来猜拓展名.payload:/abcdef~1*a**/a.apsx
科普:拓展名就是avi,mpg,mov,qt,rar,zip,jpg之类的后缀,比如说我文章里上传的图片是jpg格式的
比如说我们找到一个开头为output的文件,然后我们提交/output~1*a**/a.aspx
浅谈短文件名漏洞好的返回400,不存在拓展名为a的文件(可以判断没avi格式的小片片)
接下来把a换成b换成c换成d......直到换到返回404为止
浅谈短文件名漏洞拓展名第一个字母是z,接下来继续猜第二个字母。payload:/output~1*za*/a.aspx
就这样一直猜,直到猜完后面的星号
浅谈短文件名漏洞这时你会发现只能猜拓展名的三个字母如果文件是html,那只能猜到htm
漏洞意义:
我bb这么多,这个漏洞的意义何在?
1.能猜后台地址
2.能猜敏感文件
3.说不定能直接下载这个文件
漏洞缺陷:
1.一般来说必须是IIS+apsx
2.文件名只能猜前六位,拓展名只能猜前三位
3.文件名很短的话是没有短文件名的
poc:
直接发poc会被拦截,某讯一天到晚意淫有人要从部落里干他,所以代码贴出来的话会被ban,文章发不出去,大家想要利用工具的话可以私下里找我,工具是python2写的,环境请自备,有对技术有兴趣的也可以找我来聊聊,我随时欢迎~~
文章技术含量不高,大佬勿喷,码字贴图不易,如有不足还请大家多多包涵