OverTheWire WriteUp

OverTheWire Natas [Level6] - WriteUp

Roronoa 2023. 6. 13. 16:50
반응형

문제 정보

Username: natas6
Password: fOIvE0MDtPTgRhqmmvvAOt2EfXR6uQgR
URL:      http://natas6.natas.labs.overthewire.org

 

[그림 1] natas6 사이트 접속

그림 1은 natas6 사이트에 접속한 화면이다. 어떤 비밀 값을 입력하여 제출하면 문제를 해결할 수 있을 것이라고 예상된다.

View sourcecode로 소스 코드를 보여주고 있기 때문에 소스코드를 확인을 진행하였다.

 

[그림 2] 문제 소스코드

해당 페이지는 php로 이뤄진것 같고 includes 디렉토리 아래 secret.inc라는 파일을 불러왔다.

if문에 array_key_exists 함수는 배열내에 key또는 index가 있는지 확인하는 php 함수이다.

POST로 보내는 값중에 submit이라는 key가 있는 경우 if문을 만족한다.

그다음 if문에서는 secret변수와 우리가 입력한 값을 비교하여 일치한 경우 권한을 얻을 수 있다.

하지만 secret변수를 어떻게 알 수 있을까??

 

해당 페이지는 secret.inc를 참조하고있다. secret.inc를 확인을 하면 문제를 해결할 수 있을 것이다.

 

[그림 3] includes/secret.inc 확인

해당 파일을 확인을 하니 secret 변수가 선언이 되어있다. 이 값을  넣어서 제출을 하면 문제를 해결할 수 있을 것이다.

 

[그림 4] 문제 해결

그림4는 그림 3에서 찾은 secret 변수값을 입력하여 제출한 결과이다.

제출을 하면 natas7의 비밀번호를 알려준다.

 

natas7 Credentials

Username : natas7

Password : jmxSiH3SP6Sonf8dv66ng8v1cIEdjXWr

 

레퍼런스

https://zetawiki.com/wiki/PHP_array_key_exists() 

 

 

반응형