前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BUUCTF [GXYCTF2019]BabySQli 1 详解!(MD5与SQL之间的碰撞)

BUUCTF [GXYCTF2019]BabySQli 1 详解!(MD5与SQL之间的碰撞)

作者头像
用户8909609
发布2023-12-01 09:58:12
4320
发布2023-12-01 09:58:12
举报
文章被收录于专栏:BM CTFBM CTF

题目环境

image.png
image.png

burp抓包

随便输入值

image.png
image.png

repeater放包

image.png
image.png

在注释那里发现某种编码

MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5

看着像是base编码格式 通过测试发现是套加密(二次加密) 首先使用base32对此编码进行解码

base32解码

image.png
image.png

c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==

两个等号base64编码无疑了

base64解码

image.png
image.png

得到一段SQL查询语句

select * from user where username = '$name'

通过对这段SQL语句的初步判断 可以得出此题的注入点是参数name

判断注入类型

1 123

image.png
image.png

1’ 123

image.png
image.png

发生报错 可以得出此题的注入类型为字符型注入

尝试万能密码

1’ or ‘1’='1 123

image.png
image.png

猜测’or’关键字或’='字符被过滤

弱口令猜测

首先猜测用户名既有可能是admin 密码暂且还不知道

判断字段数

1’ union select 1,2# 123

image.png
image.png

1’ union select 1,2,3# 123

image.png
image.png

可知字段数是3

判断用户所在列

1’ union select ‘admin’,2,3# 123

image.png
image.png

1’ union select 1,‘admin’,3# 123

image.png
image.png

通过用户所在列测试,得出了存在用户admin,又得出了admin用户在第二列,也就是username字段那一列。

查看题目源码

image.png
image.png

在search.php源代码哪里发现关键代码

image.png
image.png
代码语言:javascript
复制
if($arr[1] == "admin"){
			if(md5($password) == $arr[2]){
				echo $flag;
			}
			else{
				die("wrong pass!");
			}
		}

发现参数password被md5加密 看着和之前做过的题很类似 大致就是传进去的值要进行md5值加密

换种方式猜测 username数据表里面的3个字段分别是flag、name、password。 猜测只有password字段位NULL 咱们给参数password传入的值是123 那么传进去后,后台就会把123进行md5值加密并存放到password字段当中 当我们使用查询语句的时候 我们pw参数的值会被md5值进行加密 然后再去与之前存入password中的md5值进行比较 如果相同就会输出flag

爆flag:

这里pw参数的值为123456 可以随便传 但是要对传入的那个值进行md5值加密 网上可以随便找一个在线md5加密平台

1’union select 1,‘admin’,‘e10adc3949ba59abbe56e057f20f883e’# 123456

image.png
image.png

得出flag: flag{3c7be44e-df35-40a7-bd91-1b210bf75fcb}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档