【BUUCTF】[GXYCTF2019]BabySQli

进入页面如下

尝试万能密码注入

显示这个(qyq)

用burp suite抓包试试

发现注释处是某种编码像是base编码格式

MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5

可以使用下面这个网页在线工具很方便

Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具

先进行一次base32编码解码一次得到的内容有两个=,再用base64编码再次解码

得到一个sql语句

select * from user where username = '$name'

发现注入点应该在name处

判断是字符型注入还是整数型注入

name=1'&pw=1

报错,故判断是字符型注入

判断字段数

order by用不了了,应该是被过滤了

name=1' union select 1,2#&pw=1

页面错误

name=1' union select 1,2,3#&pw=1

页面正常

故字段数为3

判断注入点在哪里

这道题不能直接用数字试,只能用admin试时才会显示wrong pass!

最终试出注入点在中间

查看题中给出的源码

发现带有flag的代码

提示md5加密,可以试试下面这个在线页面md5加密很好用

md5在线解密破解,md5解密加密

使用最常用的123456密码

最终得到flag

name=1'union select 1,'admin','e10adc3949ba59abbe56e057f20f883e' #&pw=123456

相关推荐
瀚高PG实验室6 分钟前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)16 分钟前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
敲个大西瓜20 分钟前
Java项目常用数据归档方式
mysql
LuminousCPP42 分钟前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
YOU OU1 小时前
Spring IoC&DI
java·数据库·spring
YMWM_2 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp
pengyi8710152 小时前
共享 IP 与独享 IP 怎么选?被封后升级方案避坑
网络·网络协议·tcp/ip
YuanDaima20482 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
一只机电自动化菜鸟2 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
Muscleheng2 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql