首页 > 数据库技术 > 详细

sqli13

时间:2020-06-08 09:09:35      阅读:32      评论:0      收藏:0      [点我收藏+]

第十三关   POST - Double injection  - Single Quotes-string-with twist

1.从题目来看,应该是post型的单引号加括号的布尔盲注

盲注:盲注也是注入的一种,盲注一般分为布尔盲注和时间盲注。布尔盲注就是说页面的返回值只有两种, True 和 False。所以我们只能通过测试输入的注入语句为 Ture 或 False 来判断注入的效果,并通过这两种可能一步步得判断出数据库的信息。

2.进入第13关,界面如下

技术分享图片

3.随便输入一个账号密码,界面显示登陆失败

技术分享图片

 4.把密码删了,在账号后面加个单引号试试,为什么要删除密码,因为报出来的信息多一点,不信你试试

技术分享图片

 

 从上图我们可以大致猜测sql语句为:select username,password from users where username=(‘账号‘) and password=(‘密码‘) limit 0,1 

5.知道sql的语句了,我们可以构造一个万能密码

select username,password from users where username=(‘adf‘) or 1=1 #‘) and password=(‘ ‘) limit 0,1

技术分享图片

 

 界面显示成功登陆,因为界面只会显示成功,或者失败,所以我们可以用盲注注出数据

6.我们用bp抓一下我们刚才的万能密码post包

技术分享图片

7.介绍一下我们要用到的函数

  length()  :   返回字符串的长度

  substr()  :   截取字符串,第一个参数字符串,第二个参数起始位(从1开始),第三个参数偏移量

  ascii()   :   返回字符的ascii码

8.使用上面的函数判断一下当前数据库的长度

技术分享图片

页面显示正常,所以可以推断数据库的长度是大于7的。再慢慢增大尝试,最终得到当前数据库长度为8。

9.爆出当前数据库名

if表判断,ascii表示把查出来的转成ascii码,substr截取字符串第一个参数要截取的字符串,第二个参数起始位,第三个参数偏移量

技术分享图片

技术分享图片

 

技术分享图片

 

爆出来了

技术分享图片

 通过同样的方法我们还可以爆出表,字段,数据,这里我就不说明了。

 

sqli13

原文:https://www.cnblogs.com/zhuifeng6/p/13063141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!