1,前提:上传参数可控
(1) 当 gpc 关闭的情况下,可以用%00 对目录或者文件名进行截断。
(2) php 版本小于 5.3.4
首先截断攻击,抓包上传将%00 自动截断后门内容。例如 1.php%00.1.jpg 变成 1.php
上面是 GET 请求的,可以直接在 url 输入%00 即可截断,但是在post 下直接注入%00 是不行的,需要把%00 解码变成空白符,截断才有效。才能把目录截断成文件名。
文件名可控,通过抓包修改可控的参数,与不同的中间件的缺陷配合使用。使用%00 截断文件名 再 post 环境下%00 要经过 decode 但是受gpc 限制使用 burpsutie POST %00 截断文件名
文件名攻击的方法主要有两种
1.上传文件,文件吗采用%00 截断,抓包解码例如 moon.php%00.php 截断后 moon.php 或者使用/.
2.与中间的漏洞配合使用 例如 iis6.0 上传 1.php;1.jpg apache 上传 1.php.a 也 能解析文件 a.asp;1.jpg 解析成 asp
%00 截断 需要 gpc 关闭 抓包 解码 提交即可 截断文件名,将文件名 1.php;.jpg 改成 iis6.0 可解析文件,也可以使用 /.