[GXYCTF2019]BabySQli1

单引号闭合,列数为三列,但是没有期待的1 2 3回显,而是显示wrong pass。

尝试报错注入时发现过滤了圆括号,网上搜索似乎也没找到能绕过使用圆括号的方法,那么按以往爆库爆表爆字段的方法似乎无法使用了

在响应报文找到一段注释,解码后发现是这样的,数据库根据我们输入的用户名查找三列信息

select * from user where username = '$name'

我们发现当用户名填在第二列时,回显从wrong user变成了wrong pass,说明sql查询时先查询了username存在性

根据经验这里猜测第三列存放的是账号对应的密码,而从sql库中获取密码后就会与我们输入的pw作对比,如果相等则成功登入。(这里莫名其妙地sqli注入的目的从爆库变成了登录)

也就是说只要我们select的第三列和我们输入的pw相等就能成功登入。

我先尝试了明文存储,失败了,因为一般也不会明文存储隐私信息在数据库内

这里尝试MD5加密,成功登入,出现了flag

第一次接触这种题,属实是摸不着头脑,因为正常思路目的是爆库在库里找到flag字段,这道题不是这么想的,而是把目标放在了绕过原有的密码成功登入。

相关推荐
组合缺一5 小时前
Spring Boot 国产化替代方案。Solon v3.7.2, v3.6.5, v3.5.9 发布(支持 LTS)
java·后端·spring·ai·web·solon·mcp
带刺的坐椅9 小时前
Solon 不依赖 Java EE 是其最有价值的设计!
java·spring·web·solon·javaee
pixle02 天前
从零学习Node.js框架Koa 【六】Koa文件上传下载实现:@koa/multer 与 koa-send 深度解析
node.js·web·koa·js·全栈·服务端·文件上传下载
名字不相符2 天前
攻防世界WEB难度一(个人记录)
学习·php·web·萌新
我叫张小白。3 天前
Spring Boot拦截器详解:实现统一的JWT认证
java·spring boot·web·jwt·拦截器·interceptor
Zender Han3 天前
Flutter 新版 Google Sign-In 插件完整解析(含示例讲解)
android·flutter·ios·web
actor_dev4 天前
从 .NET 到 Elixir:初探 Phoenix 框架
web·phoenix·elixir
m0_488777655 天前
Web与Nginx网站服务
nginx·web
三七吃山漆6 天前
攻防世界——easy_web
安全·网络安全·web·ctf
励志成为糕手6 天前
基于SpringBoot的企业考勤管理系统设计与实现
java·spring boot·后端·web·企业应用