星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

Web渗透_SQL注入3

SQL注入(3)


如果无权读取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没有通用的方法,掌握原理,了解各种数据库特性;

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言