iis解析漏洞+00截断
IIS6.0解析漏洞原理
- 当建立*.asa,*.asp等格式文件夹时,其目录下的任意文件都将被IIS当作asp文件来解析执行。可以百度搜索能执行的后缀
- 当文件为*.asp;1.jpg等时,IIS同样会以asp脚本来执行。
- 所以我们利用的时候,可以试着上传asp脚本,否则上传类似1.asp;1.jpg等的脚本;如果拥有网站后台用户能更改后缀则改后缀,改不了后缀就改文件上传目录为.asp/等目录名,再上传图片等木马脚本执行。
00截断
00截断原理
- 0x00是字符串的结束标识符,攻击者可以利用手动添加字符串标识符的方式来将后面的内容进行截断,而后面的内容又可以帮助我们绕过检测。
00截断的限制条件
> PHP<5.3.29,且magic_quotes_gpc关闭
误区
- %00的使用是在路径上!如果在文件名上使用,就无法正常截断了。
因为程序中检测的是文件的后缀名,如果后缀合法则拼接路径和文件名。
那么,攻击者修改了path以后的拼接结果为:uploads/aaa.php%00/20190818.php
移动文件的时候会将文件保存为:uploads/aaa.php
- 有很多朋友喜欢在文件名中加`%00`进行截断,这种方式是不对的,为什么呢?比如攻击者构造文件名:`admintony.php%00a.jpg`,在提取后缀名的时候遇到`%00`则认为字符串结束了,那么他提取到的后缀是`.php`,`.php`后缀又不允许上传所以上传失败了
- 注意get与post的不同,%00 截断在 GET 中被 url 解码之后是空字符。但是在 POST 中 %00 不会被 url 解码,所以只能通过 burpsuite 修改 hex 值为 00 (URL decode)进行截断。post头部不会url编码解码,但是数据部分能默认编码解码一次。
本文来自博客园,作者:MKID1412,转载请注明原文链接:https://www.cnblogs.com/MKID/articles/16638668.html