打开网址右上角发现管理后台
打开管理后台发现有登录测试界面
打开后台测试界面显示源码
<?php
highlight_file(__FILE__);
if (isset($_POST['username']) && isset($_POST['password'])) {
$logined = false;
$username = $_POST['username'];
$password = $_POST['password'];
if (!ctype_alpha($username)) {
$logined = false;
}
if (!is_numeric($password)) {
$logined = false;
}
if (md5($username) == md5($password) && $username != $password) {
$logined = true;
}
if ($logined) {
echo "login succeed! and flag is flag{xxxxxxxxxxxx}";
} else {
echo "login failed!";
}
}
?>
username为纯字母password为纯数字,要获取flag要使logined为真,即username进行md5后的值等于password进行md5后的值且username不等于password。
当字符串240610708跟QNKCDZO做分别md5,得到的md5值为0e打头的,一些语言(PHP)会做隐式转换,当做int类型计算,得到的结果是0,最后导致0==0,判定为true
们尝试用用户名:QNKCDZO 密码:240610708登录等到flag。