实验吧-程序逻辑问题

实验地址:http://www.shiyanbar.com/ctf/62

 

右键查看源码:

实验吧-程序逻辑问题_第1张图片

进入后看到代码:

实验吧-程序逻辑问题_第2张图片

 

 

根据源码可以看到两处特别需要重视的地方。

很明显1处sql语句存在注入漏洞,但是密码栏不能通过一般的注入来绕过,但是可以发现,只要满足了($row[pw]) && (!strcasecmp($pass,$row[pw])就可以拿到flag,也就是说,我们输入的$pass与从数据库取出来的pw一致就行,我们可以控制$pass的值,但是貌似不知道数据库中pw的值,但是我们可以直接用union select ‘某一个经过md5加密后的字符串’#来自己随意设定密码。注意这里一定是经过md5加密,不然会出错。

构造语句: a' and 0=1 union select "202cb962ac59075b964b07152d234b70" #

密码:123

就拿到flag了

实验吧-程序逻辑问题_第3张图片

 

你可能感兴趣的:(实验吧-程序逻辑问题)