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.