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??????

相关推荐
净水深流22 分钟前
中央厨房冷链技术实践:多温区改造、WMS落地与IoT温控架构
大数据·数据库·人工智能·冷库冷链
l1t36 分钟前
测试DuckDB 2.1的match_recognize模式匹配语句
数据库·duckdb
IpdataCloud2 小时前
AI智能体调用工具怎么核验来源IP?归属地、网络类型与代理风险识别(含Python代码)
数据库·python·tcp/ip
曹牧2 小时前
Java:SQL 注入漏洞
数据库
程序员JerrySUN2 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
oradh3 小时前
Oracle Undo问题总结(ORA-600 [4xxx] 系列错误)
数据库·oracle
达梦数据3 小时前
DMDRS辅助表生成规则与作用
数据库·oracle
‎ദ്ദിᵔ.˛.ᵔ₎3 小时前
MySQL 表约束
数据库·mysql
Doris__HE3 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
笃行3506 小时前
别拿MySQL数据库管理工具硬导:MySQL 迁 KingbaseES 的完整工具链
数据库