后台登录之SQL注入

发布于 25 天前  70 次阅读


题目http://ctf5.shiyanbar.com/web/houtai/ffifdyop.php

先看下源码,发现这个,emmm注入无疑了。

$password=$_POST['password']; $sql = "SELECT * FROM admin WHERE username = 'admin' and password = '".md5($password,true)."'"; $result=mysqli_query($link,$sql); if(mysqli_num_rows($result)>0){
echo 'flag is :'.$flag;
}
else{
echo '密码错误!';

这段PHP代码的意思大概是用输入经过md5加密后的密码和admin用户名查询,结果等于sql,然后看数据库中是否存在sql。

$sql = "SELECT * FROM admin WHERE username = 'admin' and password = '".md5($password,true)."'";

这句话的意思就是密码被加密了,但是我们可以注入绕过啊,只要一字符串的md5恰好能够产生如’or ’之类的注入语句,就可以进行注入了,但是emmm....好像有点不那么容易找啊。

咋整。。。没遇到过这种情况啊,想着如何构造' or 1='1之类的,什么情况下md5加密后会形成这玩意呢。。。搞来搞去搞不出。。回过头来看题。。。觉得url里面ffifdyop有点奇怪,这个是啥意思?直接拿去交一发,结果。。。。

flag is :flag{ffifdyop_has_trash}

一时无语。。。还是经验太少。。
总结:有时候真的需要细心依旧大胆推测,以及更大的脑洞。

正规路子解题 SQL注入&WAF绕过姿势 - 4ct10n - CSDN博客 https://blog.csdn.net/qq_31481187/article/details/59727015