现在一般都是白名单,还有文件内容的检测
说一说apache(2.4.23)相关的绕过
.htaccess绕过
apache配置默认开启重写的,然后说一下适合php的版本,目前不适合nts版本
不是nts版本,没有PHPRC
.htaccess的内容
SetHandler application/x-httpd-php
apache解析漏洞
如果是apache2.2.15版本可以使用如下后缀:shell.php.jpg即可绕过后缀检测
现在是apache2.4.23版本可以使用CVE-2017-15715绕过上传黑名单(Apache2.4-2.4.29即可)
在php的后面添加0a
1.获取文件名时不能用$_FILES['file']['name'],因为他会自动把换行去掉
2.新版本不能使用老版本的解析漏洞
说一说IIS和nginx
IIS6.0有2种解析漏洞
- 目录解析
以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。 - 文件解析
*.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。
学习链接:https://www.secpulse.com/archives/53533.html
被重命名也就gg了
waf bypass(dog 4.0)
学习链接:
http://www.txahz.com/article-13491-1.html
以上后缀都被拦截
系统特性(windows)
windows特殊字符
把php后接%90,被拦截
NTFS ADS特性
Test.php::$DATA,被拦截
上传文件的Content-Disposition扩展头字段在filename前插入任意字符长度>=508即可绕过安全狗上传任意后缀文件
先php后缀,被拦截
后抓包,改包
在文件名中插入特殊符号:分号,空格,单引号,换行符
分号
空格(被拦截)
单引号
换行符(被拦截)
Content-Disposition扩展头字段中的filename=后插入特殊符号:空格 换行
空格被拦截
换行被拦截
在boundary=空格-------xxxxx(被拦截)
对于白名单如何绕过
尝试解析漏洞和.htaccess