1.概述
文件上传,主要就是想方法将webshell上传到服务器。同时因为服务器一般不会任意文件上传,会有一定的过滤机制,这个时候就需要绕过这些成果上传了。
制作图片码 :copy 1.jpg/b + 2.txt 2.jpg
2.服务器过滤的一般机制
(1)前端验证、
绕过:先修改文件后缀为可上传后缀,再在burpsuite中修改后缀。
(2)验证文件类型(content-type)
绕过:先上传正常后缀的文件,再在burpsuite中修改后缀,这时候因为上传文件是正常的,所以文件类型是可通过的类型。
(3)黑名单过滤
这里绕过就只能希望写的代码不够严谨,黑名单不够全面,然后使用名单漏掉的后缀上传。
(4)后缀过滤
绕过:这里的后缀检测千奇百怪,比较常见一点的又大小写检测、空格检测、点检测。然而有点还会有一些字符串检测。绕过方式就是见机行事了,如果知道源码就可以根据源码的逻辑来构造后缀绕过。如果不知道,就尝试一下常见的大小写、空格、点等等。
(5)文件流绕过
有的没有改过滤的时候,可以考虑在.php后面加::$DATA(Windows文件流绕过)。这里的::$DATA表示将文件写入的是$DATA中,但是php解析的时候不会解析。
然后访问cx.php