본문 바로가기
category/웹해킹(webhacking.kr)

웹해킹(webhacking.kr) - 48번

by 자운대고라니 2020. 11. 20.
반응형

안녕하세요??

자운대 고라니입니다.

오늘은 wargame.kr old-48번 문제를 풀어보겠습니다.


첫 화면에 들어가 보면 text박스가 있고, 파일 업로드하는 기능이 있다. 대충 파일 업로드 취약점인 것을 알 수 있다.

나는 php파일을 업로드해서 system함수를 사용해 디렉터리 구조를 확인하려 했다. 물론, php 파일은 필터링이 돼있을 것이다.

업로드 할 php코드
php파일 업로드
파일을 업로드 했을시 내 로그

띠용?? 내 예상과는 다르게 php파일이 필터링되지 않고, 업로드됐다.

이때까지만 해도 너무 간단한 문제라고 생각했다. 그래서 해당 파일을 실행시키려 했지만

http://webhacking.kr:10006/upload/test.php

위의 사진처럼 그냥 text파일로 출력만 된다. [실행이 안된다.]

그래서 계속 삽질하는 도중 Delete를 눌러봤다.

[Delete]

그랬더니 file deleted. go back 라는 문구가 뜨면서 파일이 지워졌다.

여기서 확실하진 않지만 만약 system() 함수를 사용해서 파일을 지우는 거라면 system() 함수의 취약점을 이용해서

디렉터리 구조를 파악할 수 있을 거라 생각했다.

ex) system("rm filename");

그래서 나는 파일 이름이 [;ls -al] 이란 파일을 업로드한 후 Delete를 눌러봤다.

;ls -al 파일 업로드

그랬더니 아래의 그림처럼 ls -al명령어에 대한 결과가 나왔다.

이 중 FLAG{i_think_this_chall_is_cool} 이란 문구가 눈에 띄었고, 이를 webhacking.kr에 있는 Auth에 넣어봤다.

그랬더니 문제가 풀렸다.

처음 푸는 사람이라면 score가 올라갈 것이다.


해당 문제의 의도를 너무 늦게 파악하여서 푸는데 오랜 시간이 걸렸다.

text박스에 injection문을 넣어서 풀어야 하는 줄 알고 삽질을 오지게 했었다....

만약 내가 푼 방법 이외의 방법으로 푼 사람이 있다면 댓글 좀 남겨주길 ㅠㅠ

반응형

댓글