Web渗透测试之SQL注入:基于错误的登录界面绕过(二)

前言

  该篇与上一篇在绕过登录界面的思想基本一致,不同点在于绕过后获得想要的信息的手段。因此本篇将围绕获取数据的手段展开。

题目分析

题目页面如下:
题目页面
按照上一篇的套路,先尝试提交一个单引号:
提交单引号
结果如下:
提交单引号结果
可以发现页面已经打印出了错误信息,这就很棒。

登录界面绕过

  仔细分析可以发现整个语句大致如下:
……username = (’’) and password = (’’)
因此闭合符应为(’’),接下来的步骤与上一篇基本一致。先随意构造用户名,再输入语句:’) or (‘1’) = ('1
输入构造的用户名和密码
结果如下:
登陆成功

导出数据

  与上次不同地是,这次登录成功后页面并没有打印任何可控的信息,因此无法使用联合查询注入。但最起码还能打印错误信息,因此可以使用报错注入。在先前讲get函数的报错注入时提到过报错注入主要有两种方式:利用XPATH语法错误进行报错以及floor三件套
extractvalue:
') and extractvalue(1,concat(0x7f,(select database()))) - -
(再提一嘴,这里是连续两个减号一个空格)
extractvalue
结果如下:extractvalue结果
updatexml:
') and updatexml(1,concat(0x7f,(select database())),1) - -
updatexml
结果如下:
updatexml结果
floor三件套:
') and (select 1 from (select count(*) ,concat(database(),floor(rand(0)*2))x from information_schema.tables group by x)a) - -
post函数本身是没有字符数限制的,但浏览器和服务器处理能力的不同会对字符串过长部分进行截断,因此尽管该语句语法上正确但无法生效。

总结

  尽管绕过登录界面后网页没有打印出任何可控信息,但却能打印错误信息,因此可以利用这一点进行报错注入,从而获得我们想要的信息。
  以上就是本篇的全部内容,我们下篇见。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值