打开环境得到以下代码:
<?php
highlight_file(__FILE__);
include 'flag2.php';
if (isset($_GET['name']) && isset($_POST['password'])){
$name = $_GET['name'];
$password = $_POST['password'];
if ($name != $password && md5($name) == md5($password)){
echo $flag;
}
else {
echo "wrong!";
}
}
else {
echo 'wrong!';
}
?>
wrong!
从代码可以看出,需要我们get传入name,post传入password,而且两个的值都不能相同,但md5后的散列值要相同
给大家介绍几个常见的绕过字符串:
md5加密过后以0e开头且后面皆为纯数字
0e9406242178565
s155964671a
0e3427684168224
s1502113478a
0e8615801632915
s155964671a
所以我们直接使用md5为0e开头的值即可
get:name=s878926199a
post:password=s155964671a
传入后即可得到flag