ctf.show WEB模块第10关是一个SQL注入漏洞, 点击取消按钮可以获取源码, 审计代码可以发现源码中存在漏洞, 推荐使用with rollup注入进行绕过, 此关卡过滤了空格,and等关键字

1. 过滤空格, 可以使用括号()或者注释/**/绕过
2. 过滤and, 可以使用or来代替

进来以后是一个登录界面, 盲猜是SQL注入漏洞

点击取消按钮可以获取这一关的源码, 下载到本地即可

源码中先根据用户名查询用户信息, 用户名通过以后, 再判断密码是否相同, 我们绕过用户名的过滤条件, 在使用 with rollup注入绕过密码

with rollup 可以对 group by 分组结果再次进行分组,并在最后添加一行数据用于展示结果( 对group by未指定的字段进行求和汇总, 而group by指定的分组字段则用null占位)

我们使用万能用户名 a'/**/or/**/true/**/# 使SQL成立绕过用户名之后, 后台的SQL会查询出所有的用户信息, 然后依次判断查询处的用户名对应的密码和我们输入的密码是否相同, 这时候我们使用with rollup 对 group by 分组的结果再次进行求和统计, 由于with rollup 不会对group by 分组的字段( password)进行统计, 所以会在返回结果的最后一行用null来填充password, 这样一来我们的返回结果中就有了一个值为null的password , 只要我们登录的时候password输入框什么都不输, 那我么输入的password的值就是null, 跟查询出的用户密码相同( null == null), 从而登录成功

输入以下payload, 即可登录成功, 拿到flag

a'/**/or/**/true/**/group/**/by/**/password/**/with/**/rollup/**/#

ctfshow-WEB-web10( with rollup注入绕过)相关推荐

  1. CTFshow——web入门——sql注入

    web入门--sql注入 基础知识点 判断是否注入 order by 判断列数 使用union select 判断回显 查询数据库 web171 web172 web173 web174 web175 ...

  2. ctfshow web入门-sql注入

    ctfshow web入门-sql注入 web171 web172 web173 web174 web175 web176 web177 web178 web179 web180 web181 web ...

  3. ctfshow web入门 sql注入

    无过滤注入 web171 查询语句 $sql = "select username,password from user where username !='flag' and id = ' ...

  4. ctfshow刷题日记sql注入篇

    web 171 没有任何过滤那应该在这张表里面,直接用 1'or'1'='1即可拿到表单的所有信息 (也可以直接查询) web 172 添加了限制条件,上面的不能用了,还是单引号闭合,直接联合查询 最 ...

  5. web安全学习-sql注入-针对mysql的攻击

    文章目录 1. 前言 补充:读取客户端本地文件到服务端mysql数据库 补充:利用全局日志写shell 补充:修改mysql的root密码 补充:配置远程登录 补充:低权限下读文件 补充:高版本mys ...

  6. CTFShow web入门题刷题记录

    CTFShow web入门题刷题记录(信息搜集) web1 提示:开发注释未及时删除 打开网页查看源代码发现 flag:flag{2b2cf8e3-f880-41e1-a8ff-02601b3d998 ...

  7. 无字母数字rce(ctfshow web入门56)

    无字母数字rce(ctfshow web入门56) 我们根据这一题直接进入主题 //web56 <?php // 你们在炫技吗? if(isset($_GET['c'])){$c=$_GET[' ...

  8. [ctfshow web入门]常用姿势801-806

    1NDEX 0x00 前言 801 flask pin码计算 谨记!!python 3.8和3.6 pin码生成方式不同 werkzeug版本不同machine-id获取不同 python3.8 pi ...

  9. ctfshow web入门 命令执行 web29~web77 web118~web124

    目录 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 web43 web44 w ...

最新文章

  1. codeblocks断点不停,无效问题终极解决
  2. 90题细品吴恩达《机器学习》,感受被刷题支配的恐惧
  3. boost::mp11::mp_starts_with相关用法的测试程序
  4. 外部仓库_仓库主要作业流程和WMS作业优化方案
  5. 微服务Dubbo和SpringCloud架构设计、优劣势比较
  6. Oracle存储使用情况,我收藏的oracle中一些分析空间使用情况的存储过程!
  7. Html5 web本地存储
  8. java服务器返回错误码,java - java.io.IOException:服务器返回URL的HTTP响应代码:409 - 堆栈内存溢出...
  9. mybatis-plus实现自定义字段修改数据 后续更新CRUD
  10. 有关两个jar包中包含完全相同的包名和类名的加载问题
  11. win10一直正在检查更新_win10一直存在的烦人问题,终于被彻底解决!你会选择更新么?...
  12. flAbsPath on /var/lib/dpkg/status failed - realpath
  13. [Python可视化] pyecharts安装入门及绘制中国贵州地图
  14. hdwiki v5.1存在SQL注入导致可下载任意文件
  15. matlab 地质学,大类学子有话说 | 地球科学与工程学院:探寻地球的奥秘
  16. vm服务器虚拟化迁移,在线迁移演示(存储在线迁移、虚拟机在线迁移)
  17. Java 和 .Net那个就业前景更好?
  18. 27.FFmpeg+OpenGLES+OpenSLES播放器实现(一.音视频基础知识概要)
  19. 常识:分辨率1080p和720p有什么区别?
  20. java神秘岛_Minecraft1.4.2MOD整合版

热门文章

  1. Python的安装部署
  2. 网易云易盾牵手百视通 助力广电领域新媒体内容安全
  3. MongoDB快速入门(五)- Where子句
  4. 软考信息系统项目管理师_信息化与信息系统5_信息系统规划_补充问题---软考高级之信息系统项目管理师007
  5. C++_-数据类型-字符型_转义字符_字符串类型--C++语言工作笔记012
  6. STM32工作笔记0043---什么是漏源电压,栅源电压
  7. SpringCloud学习笔记013---Spring的@PostConstruct标签_初始化项目字典
  8. IntelliJ Idea学习笔记003---【Intellij IDEA】eclipse项目导入
  9. SpringBoot学习笔记001--创建第一个spring boot应用
  10. fckeditor组件使用---配置FCKeditor,以及使用方法2