实战中各种SQL注入的绕过姿势
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
这篇文章搜集整理自@Junehck师傅的Github,记录了他在实战中遇到的各种WAF拦截SQL注入的场景和绕过姿势,文章并不是完整的,仅记录了Bypass部分。 https://github.com/Junehck/SQL-injection-bypass 0x01 %00绕过WAF 输入一个单引号 页面报错 首先闭合,这里用
order by x 被拦截,用 直接上 把空格都改为 在 1 后面加上 0x02 Base64绕WAF 发现参数为 base64 编码 测试字符发现页面报错,使用报错注入来出数据 133 and updatexml(1,concat(0x1,user()),1) 将以上 payload 经过 base64 编码后得到,但发现被拦截了
php 在 base64 解码的时候会忽略特殊字符,我们在 payload 里面穿插
0x03 Emoji绕过WAF 先 order by 获取列数 尝试使用联合注入时就会被拦截,无限等待响应 这里我们使用 0x04 注释符绕过WAF 在后面加上 order by 1 被安全狗拦截 WAF 会避免消耗大量内存去匹配危险函数,故会直接忽略"有效注释"中的内容,而攻击者可以构造不存在的参数来实现
那么这里就无任何拦截了,可直接交给 sqlmap 0x05 脏数据绕过WAF 页面搜索功能尝试输入单引号,页面 500 报错并输出了报错信息 这里竟然有报错我们就想着使用报错注入,但是含有类似于 因为 get 绕过姿势较少,我们尝试把数据通过 post 发送,发现后端也接收,那么这里使用
0x06 关键字替换绕过WAF 单引号页面报错 这里我们打算使用 updatexml 来进行报错输出,在 url 后面添加 and 发现并没有拦截,但是如果在 and 后面空格然后跟 updatexml 直接被拦截 这里我们的绕过方法是用运算符,
这里可以使用
我们首先闭合一下后面的单引号,在后面加上 keywords=11'and-updatexml(0x1,,0x1)and' 现在我们来构造报错内容,
0x07 中间件特性绕过WAF 首先通过 这里的测试 payload 是:
在 asp+iis 的环境下
首先测试延时 payload,将里面的
改为 1,页面返回 3 秒,执行了 3 次,不管输入多少都会被乘 3 写个 tamper 即可使用 sqlmap 跑 该文章在 2023/3/27 18:38:40 编辑过 |
关键字查询
相关文章
正在查询... |