51,【1】BUUCTF WEB GxYCTF2019babysqli

进入靶场

输入admin,123456看看回显

输入admin and 1=1和123456

过滤了一些,逐个尝试看看过滤了啥

试试空格

貌似没有被过滤

试试=

=被过滤了

试试union

正常使用

试试order by

被过滤了

试试select

没过滤

知=,order by被过滤了

用%23,#都可

报错了,原来是报错注入

发现字节数为3,原来即使order by用不了,也可以用union select一个一个试出来

问题又来了,找不到注入点

还是硬着头皮尝试一下

双写也试过,还是没什么用

一番下来就只知道了字段数

应该还有什么信息

查个源码

这道题的提交方式竟然是post,也对,提交的内容在url处没有显示过

用一下BP,说不定在请求与响应中会有什么

MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5

需要解码

连续解码2次得到信息

复制代码
select * from user where username = '$name'

用到的解码工具CTF在线工具-在线base编码|在线base解码|base16编码|base32编码|base64编码

这个线索我不怎末会用,看了其他人的wp,接下来该判断3个字段分别对应什么

一般是id,username,password

如果不等于admin才会往后查询,等于admin就不会查询后面了

用户名对了,猜测密码

mysql在查询不存在的数据时会自动构建虚拟数据,一般数据要么明文,要么MD5

202cb962ac59075b964b07152d234b70

????????

同样的东西,换个行就行了??????

不理解

但总是做完了

笔记

1,order by用不了的情况下,可以用union select直接猜测

2,SQL也有可能会用到bp,查看源代码之类的

3,mysql在查询不存在的数据时会自动构建虚拟数据,一般数据要么明文,要么MD5

4,知道字段数后可以猜测每个字段对应的内容(之前是利用注入点查看信息)

疑问

为什么密码是123??????

相关推荐
摇滚侠5 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
川石课堂软件测试6 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
2501_937767167 小时前
自建 SQL 数据库定时备份踩坑复盘与落地思路
数据库·sql
silvamux_8 小时前
10款模型写种草笔记:可发布性、返工来源与成本数据缺口复盘
java·数据库·笔记
I Am a robert girl10 小时前
从 GameHorizon 拆解多时间尺度游戏评测:数据管线、离线基准与在线回放的三层设计
数据库·游戏·多时间尺度·数据管线·游戏评测·离线基准·在线回放
躺柒10 小时前
读数据安全架构设计与实践17安全架构案例(下)
数据库·安全·零信任·安全架构·防火墙·无边界
SelectDB10 小时前
实时更新排错现场:导入了却查到旧数据,和 FINAL 越加越慢的两条路
大数据·数据库·数据分析
SelectDB11 小时前
拿 Planet 的账单一行行对下来,我总结出三个可自查的校验点
大数据·数据库·数据分析
SelectDB11 小时前
Apache Doris + Vane:让多模态数据进入业务分析
大数据·数据库·数据分析
pjj1985412 小时前
ClickHouse 与 Doris 数据库技术梳理:看懂分析型数据库
数据库·clickhouse