T3SEC —–第四讲:SQL漏洞注入及WAF绕过
{% meting "2111364820" "tencent" "playlist" "theme:#FF4081" "mode:circulation" "mutex:true" "listmaxheight:200px" "preload:auto" "autoplay" %}
一.WAF相关介绍
WAF(Web Application Firewall)web应用防火墙
WAF 有哪些
1.软件型WAF
2.硬件型WAF
3.云WAF---反向代理模式工作,通过配置NS记录或者CNAME记录,带有防护的CDN
4.网站系统内置的WAF
WAF的功能:
1.审计
2.访问控制/过滤
3.架构安全的网络设计
4.web加固
WAF怎么识别扫描器
1.AWVS,SQLMAP,APPscan,OpenVAS等工具(基于白盒/灰盒渗透测试)
以下几点来识别waf
- 扫描器指纹(head字段/请求的参数值)
- 单ip+cookiie某一个时间段发出多少次来判断
- 隐藏连接标签
- .......
对于注入过程中如何去判断是否目标由WAF
1,sqlmap -u url地址 --identigy-waf --batch
2.手工判断
xxx.com/?user=a' unionselect 1,2,3,4 --+ 放入一个不存在的参数值去触发WAF防护:形式表现:页面无法访问,响应码异常,返回与页面不同的结果.
二.SQL注入绕过
黑名单过滤:空格,?,,',and,or,union,select,sleep(),",#,-,+,unit
sqlmap tamper----自己编写tamper
1.双写:and-->anandd或aandnd
2.大小写绕过
- express/i 前提:对大小写不敏感的无法绕过
3.编码绕过
- base64编码
- ASCII
- 宽字符
- url编码
- Unicode编码
- ..........
4.替换关键字
id=1 UNIunionON SELselectCT 1,2,3,
5.注释绕过:
空格 /**/
绕过技术很多,建议https://zhuanlan.zhihu.com/p/113579251/
三.SQL注入绕过实战
21--cookie注入+base64编码绕过
27---判断过滤了空格,--+过滤 /**/过滤,,可使用%0a闭合方式绕过空格
1' %0aunion select 1,2,database()
使用sqlmap绕过:
sqlmap.py -u http://127.0.0.1/sqli-labs/Less-21/ ?id=0 --tamper
四.作业:
less27
Q.E.D.