专栏名称: 红队蓝军
一群热爱网络安全的人,知其黑,守其白。不限于红蓝对抗,web,内网,二进制。
今天看啥  ›  专栏  ›  红队蓝军

记一次基于Union的sqlmap自定义payload

红队蓝军  · 公众号  ·  · 2024-09-25 18:00

文章预览

hw期间某晚上10点,某知名小朋友审计了一套bc源码,有sql注入,注入的位置比较刁钻,sqlmap无法识别,不能取证 注入场景 pay.php?id=pay`+/*_*/ where + false  注入error  pay.php?id=pay`+/*_*/ where + false # 注入正常 sqlmap无法识别 注入位置比较刁钻,小朋友说得保留 pay`+/*_*/ where + false 字段才可控, 在网上搜了一圈,没有找到基于union的自定义查询,于是下了些功夫,研究了sqlmap的union注入流程 union注入流程 union联合查询,用于合并左右两侧select语句的结果,得要求两侧select的列数相同,两侧select列数不同发生error,那注入就失败;因此 union注入必须得先进行order by的判断确定列数,后续才能拼接子查询测试。 所以,站点union注入失败的原因在于order by测试没命中 sqlmap测试union注入的文件在data\xml\payloads\union_query.xml 根据发包提示信息和order by相关的是"Generic UNION query" ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览