[GXYCTF2019]BabySQli 1

进去就是两个登录框

[GXYCTF2019]BabySQli 1_第1张图片 

先试了试adminadmin,然后显示wrong pass

 

试了下万能密码

1' or 1=1

[GXYCTF2019]BabySQli 1_第2张图片

[GXYCTF2019]BabySQli 1_第3张图片 

查看下页面源代码[GXYCTF2019]BabySQli 1_第4张图片

 放到瑞士军刀解密一下[GXYCTF2019]BabySQli 1_第5张图片

 用fuzz字典跑一下

 会发现order被过滤了[GXYCTF2019]BabySQli 1_第6张图片

 所以order用Order来过滤

admin' Order by 3--+

得到字段数为3[GXYCTF2019]BabySQli 1_第7张图片

然后判断一下注入点[GXYCTF2019]BabySQli 1_第8张图片[GXYCTF2019]BabySQli 1_第9张图片

判断得到这题的注入点是在第二位

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

就像我在我的表里面查询了一个不存在的email-id,但是却能够查询到,就是因为创建了这个虚构的值,但他其实本身是不存在的

[GXYCTF2019]BabySQli 1_第10张图片

在执行password框中的内容等于md5(框中的内容),如果相等则密码正确

对pw即1进行md5加密[GXYCTF2019]BabySQli 1_第11张图片

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

[GXYCTF2019]BabySQli 1_第12张图片 

你可能感兴趣的:(学习)