数据库
首页 > 数据库> > SQL盲注

SQL盲注

作者:互联网

盲注的原因是因为不显示数据库报错信息,导致我们没法知道注入的信息是否与服务器发生交互,无法直观的查看我们注入的数据对错   但是我们还是可以通过一些逻辑关系去判断是否能注入 例如: 如果我们通过1' and 1=1--+ 发现和我们正常输入1的结果一致,同理我们可以进行后续的注入测试   结合之前一篇章节说过,我们也可以对其字段进行猜测 例如: 思路:前面为真,后面猜测user这一列中没有空,如果为真则显示1号数据,当然我们也可以猜测user这一列有Null,或者我们可以猜测除了user其他列 根据列名,也可以继续猜测表名,这里替换就是表名table 1'and table.user is not null --+  一层一层向上进行爆破查询   猜测其他表: 1' and(select count(*)from guestbook)>0--+   模糊查询:1' or user like '%a%  模糊查询这里最好用or 那么此时的结果可能不是1这条结果 这里的方法还是通过burp进行暴力破解   Pis: 补充一种方式可以查询出服务器系统的版本信息 1' and ORD(MID((VERSION()),1,1))&32>0--+ 这句话的意思 VERSION为版本信息 MID为截断功能例如对helao进行截取后面加上2,4,就从第二个e开始截取,到a停止截取到的字符串为ela,ORD功能为转换字符为ASCLL码。而后面的&32则是对一个字符的二进制的32那一位进行读取,这里解释下什么叫32那一位 1    1    1    1    1   1   1   1 128  64   32   16   8   4   2   1 这样我们可以对一个字符进行逐个位的读取,看他是否大于0判断这个字符的ASCLL对应10进制是多少,从而得到这个字符具体是什么,这样一位一位的猜测,最后可以得到服务器的版本信息 同理举一反三我们可以查USER,database等等    

标签:字符,版本信息,32,我们,user,SQL,盲注,猜测
来源: https://www.cnblogs.com/Tempt/p/11183881.html