<?
$key = "Congratulations!</br>Key is ??????????????????";
$a = @$_COOKIE['c'];
$b = @$_GET['g'];
$c = @$_POST['p'];
if(empty($a) || empty($b) || empty($c)){exit ('wrong T.T');}
$d = $b . $a;
$e = $c;
function test($a){
$b = '';
for($i=0; $i < strlen($a); $i++){
$b = $b . ' - ' . ord(substr($a,$i,1));
}
return $b;
}
if(test($d)==" - 103 - 105 - 118 - 101 - 109 - 101 - 112 - 97 - 115 - 115 - 119 - 111 - 114 - 100" || test($e) == " - 107 - 101 - 121 - 112 - 108 - 122 - 33")
#givemepassword or keyplz!
{
echo $key;
}
else{
echo 'wrong T.T';
}
?>
주어진 코드에 변수가 바코드로 되어있어서 치환했다.
일단
test($d) => $d = givemepassword 이고 test($e) => $e = keyplz!
이면 문제가 해결된다.
$d = $b.$a 이고
$e = c 이다.
다만 이해가 안가는 부분이 if 문 내부가 or 로 이루어져 있는데 왜 둘다 만족을 시켜줘야지만 통과가 되는지 모르겠다.
일단 기본적으로 a,b,c를 모두 채워줘야 한다.
a는 쿠키, b는 get['g'] c는 post['p']이다.
web_basic_problem_haha
'WriteUp > XCZ.kr' 카테고리의 다른 글
XCZ.kr : prob 22 (250pt) (0) | 2020.09.01 |
---|---|
XCZ.kr : prob 17 (100pt) (0) | 2020.08.04 |
Prob 13 (150pt) (0) | 2020.05.21 |
prob 6 (100pt) (0) | 2020.05.14 |
prob 3 (150pt) (0) | 2020.05.12 |