0%

联合查询所查询的数据不存在时,联合查询会构造一个虚拟的数据

2025-03-12 20:00By
Eecho
SQL注入POST注入关键字绕过

Problem: [GXYCTF 2019]BabySqli

image-20250312185059017

输入admin1密码123发现提wrong user!,输入admin密码123,提示wrong pass!。说明用户名就是admin。

bp抓包看一下

image-20250312185238389

给出了一串编码,放进随波逐流里看一下,发现是个base32

image-20250312185325272

然后继续解码,竟然给出了sql查询语句

image-20250312185405436

从给出了sql语句中知道,注入点在name中

现在判断注入类型,发现是字符型

image-20250312200744001

并使用--+注释,然后使用order by 判断字段数,发现给出提示“do not hack me!”应该被过滤了尝试一下order首字母大写发现可以绕过。

字段数为3。

image-20250312201041573

现在就需要判断admin在哪一个字段了。经过测试发现在第二字段

image-20250312201149944

联合查询所查询的数据不存在时,联合查询会构造一个虚拟的数据

image-20250312200418434

那么就可以使用这个特性来获取flag。

name=1' union select 1,'admin','c4ca4238a0b923820dcc509a6f75849b'--+&pw=1


#  c4ca4238a0b923820dcc509a6f75849b是1的md5

总结

联合查询所查询的数据不存在时,联合查询会构造一个虚拟的数据

还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有

加载中...

加载失败
广告
×
评论区
添加新评论