安全边界 2024-04-06 23:06 采纳率: 0%
浏览 77

SQL注入waf绕过

group_concat,concat函数被waf拦截
如何绕过

  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2024-04-06 23:06
    关注

    晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    在SQL注入中,很多情况下会遇到WAF拦截函数的情况,常见的就是group_concat和concat函数被WAF禁用,需要想办法绕过WAF限制。以下是绕过WAF限制的一些方法:

    1. 利用拼接操作符: 拼接操作符是竖杠(|)或双竖杠(||)。我们可以通过拼接操作符进行拼接。例如:
    SELECT name||address FROM users;
    

    这样虽然不能使用concat,但WAF不会拦截这个操作

    1. 使用十六进制: 将语句中的关键字转换为十六进制,这可以使WAF找不到你的攻击向量。例如:
    SELECT char(72,101,108,108,111)||char(32,87,111,114,108,100);
    

    现在我们可以在其中添加其他关键操作如union或注释符来执行我们的操作。

    1. 将函数名改写为其它字符: 如果WAF过滤的是函数名,你可以将函数名改写为奇异古怪的字符。这样可以规避函数名过滤。例如,在group_concat函数中使用g @r0$ P' con_C@t代替。

    2. 使用子查询: 在WAF限制下,不可用的函数还有类似group_concat的语法,可使用子查询添加:

    SELECT (SELECT GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name = 'users') AS list...
    

    不过这个方法常常需要优化,因为大型数据库表会导致大量递归子查询数据

    注:绕过WAF风险较高,注入可能会破坏、删除或泄露敏感数据,因此个人不推荐使用这样的手段。建议找到更安全的访问路线。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月6日