实验地址:http://www.shiyanbar.com/ctf/62
右键查看源码:
进入后看到代码:
根据源码可以看到两处特别需要重视的地方。
很明显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了