strcmp view-source code
<?php
require("../lib.php"); // for auth_code function
$password = sha1(md5(rand().file_get_contents("/var/lib/dummy_file")).rand());
if (isset($_GET['view-source'])) {
show_source(__FILE__);
exit();
}else if(isset($_POST['password'])){
sleep(1); // do not brute force!
if (strcmp($_POST['password'], $password) == 0) {
echo "Congratulations! Flag is <b>" . auth_code("strcmp") ."</b>";
exit();
} else {
echo "Wrong password..";
}
}
?>
flag를 얻기 위해서는 암호화된 $password의 값을 맞춰야한다.
그런데 if문에서 ===가 아닌 ==로 느슨한 비교를 한다.
POST 값이기 때문에 Burp Suite로 password[] 형태로 넘겨준다면 if문을 우회할 수 있을 듯하다.
'Wargame > wargame.kr' 카테고리의 다른 글
[Wargame.kr] DB is really GOOD 풀이 (220p) (0) | 2020.07.29 |
---|---|
[Wargame.kr] md5 password 풀이 (214p) (0) | 2020.07.29 |
[Wargame.kr] login_filtering 풀이 (136p) (0) | 2020.07.28 |
[Wargame.kr] fly me to the moon 풀이 (191p) (0) | 2020.05.25 |
[Wargame.kr] WTF_CODE 풀이 (154p) (0) | 2020.05.25 |