문제 정보
Username: natas6
Password: fOIvE0MDtPTgRhqmmvvAOt2EfXR6uQgR
URL: http://natas6.natas.labs.overthewire.org
그림 1은 natas6 사이트에 접속한 화면이다. 어떤 비밀 값을 입력하여 제출하면 문제를 해결할 수 있을 것이라고 예상된다.
View sourcecode로 소스 코드를 보여주고 있기 때문에 소스코드를 확인을 진행하였다.
해당 페이지는 php로 이뤄진것 같고 includes 디렉토리 아래 secret.inc라는 파일을 불러왔다.
if문에 array_key_exists 함수는 배열내에 key또는 index가 있는지 확인하는 php 함수이다.
POST로 보내는 값중에 submit이라는 key가 있는 경우 if문을 만족한다.
그다음 if문에서는 secret변수와 우리가 입력한 값을 비교하여 일치한 경우 권한을 얻을 수 있다.
하지만 secret변수를 어떻게 알 수 있을까??
해당 페이지는 secret.inc를 참조하고있다. secret.inc를 확인을 하면 문제를 해결할 수 있을 것이다.
해당 파일을 확인을 하니 secret 변수가 선언이 되어있다. 이 값을 넣어서 제출을 하면 문제를 해결할 수 있을 것이다.
그림4는 그림 3에서 찾은 secret 변수값을 입력하여 제출한 결과이다.
제출을 하면 natas7의 비밀번호를 알려준다.
natas7 Credentials
Username : natas7
Password : jmxSiH3SP6Sonf8dv66ng8v1cIEdjXWr
레퍼런스
https://zetawiki.com/wiki/PHP_array_key_exists()
'OverTheWire WriteUp' 카테고리의 다른 글
OverTheWire Natas [Level8] - WriteUp (0) | 2023.06.17 |
---|---|
OverTheWire Natas [Level7] - WriteUp (1) | 2023.06.15 |
OverTheWire Natas [Level5] - WriteUp (0) | 2023.06.11 |
OverTheWire Natas [Level4] - WriteUp (0) | 2023.06.09 |
OverTheWire Natas [Level3] - WriteUp (0) | 2023.06.07 |