<返回更多

Web渗透_SQL注入3

2022-08-03    IT知识一享
加入收藏

如果无权读取information schema库 / 拒绝union、order by语句,只能通过猜测的方式:

 

猜列名

 

' and asd is null--+ (+代表空格)

 

  • 当我们执行之后,通过报错可看出来没有这个asd

 

 

  • 通过更换asd,去猜测,如果没有报错,说明数据库存在这个列名

 

 

  • 但是一般情况下,都是通过跑字典的方式,kali里面自带字典文件

 

 

  • 之后我们就可以通过bp进行跑字典的操作,首先执行随便的参数,然后代理截断下来

 

 

  • 之后将截断地发送到repeater测试服务器是否可以正常响应

 

 

  • 服务器能够正常响应之后的话,发送到intruder去

 

 

  • 之后选中你想要插入地点,选择它,然后点击add

 

 

  • 接着点击Payloads,传入我们的字典文件

 

 

  • 之后点击start attack

 

 

  • 之后我们就可以分析出哪些是正常存在的列了

 

 

猜表名

 

  • 列表猜出来了,就可以开始猜测表名字,刚刚我们看到确实存在user这个列名

 

'and table.user is null--+ (+代表空格)

 

  • 如果表名不存在会报错

 

 

  • 之后的才做和猜列名一样了,不做详细概述,自己试试吧,表名的字典路径如下

 

 

猜库里面的其他表

 

'and(select count(*) from b)>0--+(+代表空格)

 

 

上面的直接爆出库名了;

 

  • 接着从bp里面去跑字典就行了,库名不变,猜测表明,不做详细步骤描述了

 

猜测字段内容

 

'or user='admin

 

 

'or user like '%a%   
##包含a的user

 

 

当数据库可写

 

';update users set user='yuanfh' where user='admin

 

  • 将用户名修改,直接注入会报错,原因是Sql客户端工具的问题,直接用工具演示

 

 


 


 

同理也可以修改密码、添加用户、删除表等等,熟悉SQL语句的人去尝试下吧;

 

SQLi没有通用的方法,掌握原理,了解各种数据库特性;

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>