查看源码
$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 '密码错误!';
}
找到注入点
".md5($password,true)."
分析注入点
前者是输入的字符串,后者是格式
实现注入
将字符串拼接成 SELECT * FROM admin WHERE username = 'admin' and password = ' 'or' ' 格式方便使得条件为真,满足判定。
SELECT * FROM admin WHERE username = 'admin' and password = ''or' 6<trash>' 即可满足条件
题目提示 ffifdyop ,转换后符合 满足条件的解
至于为什么是 ffifdyop 这个字符串,这应该是靠平时的积累