SQL注入——猜测字段名称

之前两篇文章所说的SQL注入手段均是在服务器层面是root权限,而现实的渗透测试过程中,很多都是无权读取information_schema库,并且很多拒绝联合访问Union和order by语句。遇到这些问题时候,就需要我们去爆破猜测一些数据库字开发逻辑,对一些列,表,内容进行猜测
 
  • 猜测某个列
猜测abc这个列是否存在,网页提示:
说明我们所使用的猜测sql语句可以用,剩下的即为猜测过程
很多集成化工具中都有猜测某列的字典文件
在kali中利用find /-name*column*.txt进行查询
但是在字典文件中有#开头的行
我们需要将警号开头的行去除调,并保存到一个新的字典文件
回到burp里面,将我们要测试的列名称变量进行选取
将刚刚生产的文件加载进来
pis:将这里去掉
接着点击菜单栏Intruder进行爆破,根据观察列的长度,从而判断4643长度的列是服务器存在
 
 
  • 猜测表名
如果我们以及猜出列,基于列名我们可以猜测其表名,'and table.user is null--+ 这里的user列是我们已猜测出来的,table则是我们猜测的表名
测试完之后显示没有找到table.user这个表名,但是说明table这个字段是可以进行爆破
#号处理:cat /usr/share/golismero/tools/sqlmap/txt/common-tables.txt | grep -v ^# >table.txt
然后对table字段进行爆破
 
基于这个原则逐级对数据库进行爆破
 
还有一种猜测其他表名称的方法
' and (select count(*) from abc)>0--+ 
同样用Burp爆破方法进行猜测表名
 
 
 
  • 猜测表中的字段:
or表示一真则真,这里注意引号闭合即可
 
还有一种方式,可以进行模糊查询
%号表示模糊查询,用%将要查询的字段包含起来,like语句进行查询
 
 
  • 猜测密码:
思路:已经猜测出来账号,可以进而猜测密码,猜测密码时候可以通过密码的MD5值进行猜测,擦测语句:
' or user='admin' and password= ' MD5
用or表示一真则真,说明后面的user和password都要为真,所以user和password连接部分必须为and
 
 
 
 
 

转载于:https://www.cnblogs.com/Tempt/p/11179388.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值