sqllab第十五关通关笔记

知识点:

  • 布尔盲注
    • 无任何有价值的回显;但是回显信息只有两种(区别正确和错误)
  • 通过布尔盲注爆破处正确的信息
  • 利用过滤条件对数据进行过滤;只显示自己想要的信息

尝试进行admin admin登录发现没有任何的回显信息

通过bp抓包进行注入尝试

构造payload:username=a'+or+1=1#

成功登录了;说明这里存在注入点

没有任何的回显信息

尝试进行错误注入

构造payload:username=a'+or+exp(710)#

发现仍然没有任何返回结果;说明这里不能使用错误注入

由于返回结果是由不同的;所以可以使用布尔盲注

首先要获取数据库的长度信息;

构造payload:username=a'+or+length(database)=8#

显示成功登录;说明数据库长度为8

获取了数据库的长度;接下来就可以进行数据库名的爆破了

构造payload:username=a'+or+substr(database(),1,1)='s'#

成功登录;说明可以进行按位爆破了(这里是我知道数据库名;所以进行测试的)

下面把数据包放到爆破模块中

对截取函数的初始位和匹配位位进行标记;采用cluster bomb进行爆破

设置和之前一样;payload1采用数字模式,设置步长为1,起始位为1,结束位为8;payload2采用burte force模式;设置最大和最小长度为1;点击爆破

得到了爆破的内容;正确的响应包和错误的响应包长度不同;通过排序发现长度为1723的为正确的响应包;

可以发现是乱序的;这里无法通过长度进行过滤;仔细查看响应包发现正确界面和错误界面的区别在于使用了不同的图片;正确为flag.jpg  错误为slap.jpg

这里可以利用图片名的不同进行过滤(这属于响应包的内容)

点击上面的filter,会弹出一个过滤的框;再过滤框中输入flag.jpg,点击应用会获取到长度为1723的信息;通过payload1进行排序会获得正确顺序的数据库名

到这里就结束了;同样的方法可以爆破处数据库的其他敏感信息;之前关卡中已经试验过了;这里就不再做了

10

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 03:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 03:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 03:08:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 03:08:01       20 阅读

热门阅读

  1. 爬虫:爬取新闻内容及图片,存入数据库

    2024-03-15 03:08:01       20 阅读
  2. 怎样把1.ts-10.ts的文件拼接成一个MP4文件

    2024-03-15 03:08:01       23 阅读
  3. C语言统计书本借阅情况

    2024-03-15 03:08:01       16 阅读
  4. linuxi系统docker容器编排工具compose

    2024-03-15 03:08:01       18 阅读
  5. 记一次实战项目所学(通用接口篇)

    2024-03-15 03:08:01       20 阅读
  6. Coinbase: AI+区块链的投资与创业机会

    2024-03-15 03:08:01       16 阅读
  7. C语言自学笔记5-----C 语言 if...else 语句

    2024-03-15 03:08:01       20 阅读
  8. Spring Cloud + Nacos 集成Netty Socket.IO

    2024-03-15 03:08:01       18 阅读
  9. 关于Django使用Jquery异步刷新

    2024-03-15 03:08:01       16 阅读
  10. Dropping Balls(UVA 679)

    2024-03-15 03:08:01       17 阅读