검은 바탕에 Wrong이라고 적힌 글자만 있었고 소스뷰 확인해 보니까
<?php
$pat="/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/";
if(preg_match($pat,$_GET['val'])){
solve(11);
}
else echo("<h2>Wrong</h2>");
echo("<br><br>");
저 $pat의 값이 들어 맞았을 때 solve가 되고 아닐 시 Wrong을 띄워 주는 것이다.
그러면 저 pat을 분석해야 하는데
/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/
1과 3중 하나의 숫자여야 하고, a부터 f까지의 숫자가 5개 연속으로 와야 한다는 건 알겠는데 그 다음을 모르겠어서 인터넷에 검색해 보았다.
우선 $_SERVER[REMOTE_ADDR]를 검색해 보았을 때 사용자 IP라는 것을 알 수 있었고, .*는 0개 이상의 임의의 문자를 의미하며 이후 \tp\ta\ts\ts는 탭을 각각 입력한 pass를 입력하라는 것인데...
어디다 입력해야 하는지 몰라서 인터넷에 검색했더니 URL에 입력하는 것이라고 나온다!! tab도 %09로 인코딩해서 1aaaaa_내아이피%09p%09a%09s%09s를 입력하면 문제가 풀린다... 쉬운 건데 나한텐 아직도 어렵다
'워게임 스터디' 카테고리의 다른 글
[250204][webhacking] old-14 (0) | 2025.02.04 |
---|---|
[250128][webhacking] old11 (0) | 2025.01.29 |
[241126][dreamhack] 64se64 (0) | 2024.11.26 |
[241126][dreamhack] Reversing Basic Challenge #0 (0) | 2024.11.26 |
[241119][dreamhack] command-injection-1 (2) | 2024.11.20 |