上传限制绕过
#.htaccess文件突破黑名单(上传格式限制)
1.自定义.htaccess上传
1 | <FileMatch “test.jpg”> |
2.同目录下上传保存为jpg格式的一句话,成功绕过限制
#php流封装绕过截断
例:设文件包含代码为:
1 | <?php |
%00无法截断,只能包含xxxx.html.php
1.新建一个hello.html.php,内容为phpinfo();
2.压缩成zip
3.访问网址[http://localhost/test/blog.php?file=zip://test.zip%23hello],成功包含压缩文件内的hello.html.php
#0x00截断
0x00截断,00截断是将上传文件名或路径名中使用ascll码值为0的字符(也就是null)来进行截断
1.BP抓包
2.在/Upload/后面加一个空格,点开hex,将其对应的20改成00即可,就可以绕过后缀名的过滤,从而得到webshell
#%00截断
%00一般用在URL中用于截断url来进行文件包含
1.BP抓包
2.在filename后面加%00.jpg,先绕过后缀上传,然后利用burp的urldecode功能,其实和/00截断将hex20变成00一样,效果一样,两种方法都可以拿webshell
#竞争上传
1.上传一个包含创建webshell的脚本,在文件解压到被删除到时间差内访问webshell
2.构造压缩文件,成功解压部分文件,在解压未未完成时出错,不执行删除程序
a)上传含png
,php
文件的压缩包,在上传时抓包。使用”Paste from file“将压缩包放入请求数据包中,并修改最后一个PHP文件的hex值=>成功解压部分并查看被解压的目录
b)发现未指定解压目录,构造含有png
,php
文件的压缩包,用notepad++将xxx.php
修改为../xxx.php
,通过BP上传,成功在上级目录下创建一个xxx.php