웹/webhacking.kr

webhacking.kr 28번

최경환의 해킹공부 2021. 2. 22. 14:32

28번 문제입니다. 아마도 파일 입출력 문제로 보입니다. 그래서 b라는 파일을 만들어서 업로드 해보았습니다.

업로드하면 업로드된 경로가 화면에 출력됩니다. 그리고 Mission으로 보아 해당 위치에 있는 flag.php를 읽어와야 할 것 같습니다.

 

여기서 제가 파일 업로드 취약점에 대해서 찾아보면서 .htaccess 파일이라는 것을 찾았습니다. 이 파일은 허가, 인증, URL재작성, 스팸봇 차단, SSL, 디렉토리 리스팅, 에러 응답 커스터마이징 등의 용도로 사용되지만 이번 문제처럼 치명적인 단점 있다고 합니다. 자세한 내용은 아래의 두 링크를 참고하면 좋을 것 같습니다.

devlog.jwgo.kr/2019/04/11/what-is-htaccess/

 

.htaccess 파일은 도대체 뭔가요? · Tonic

사이트 운영에 도움을 주실 수 있습니다. 고맙습니다. --> .htaccess 파일은 도대체 뭔가요? 2019년 04월 11일 워드프레스를 설치한다던지 웹서버로 뭔가 할 때 .htaccess 파일을 자주 보게 된다. 이 파일

devlog.jwgo.kr

code1018.tistory.com/96

 

WebHacking - File Upload 취약점 (우회), Web SHell(웹 쉘)

저번 글에서 파일 업로드 취약점을 공략하다가 .php 파일 확장자 업로드에서 막혀있었다. 오늘은 이러한 경우 우회할 수 있다는 가능성을 이해해보겠다. 저번 글에서 로컬설정 파일에 대한 이해

code1018.tistory.com

여기서는 .htaccess에 flag_file engine off라는 설정을 업로드해서 플래그 파일을 읽을 수 있게 만들어 주었습니다. 그리고 파일을 만든 뒤에 조금 삽질을 했는데 이 파일을 처음 만들게 되면 이 파일이 숨김파일로 설정되기 때문에 볼 수가 없습니다. ma기준으로는 command+>+shift 를 누르면 숨김파일이 보이게 됩니다. 이 이외에도 파일을 1.htaccess로 만든 뒤 burp suite로 전송 패킷을 잡아서 파일 이름을 바꿔주는 방법도 있습니다. 그렇게 htaccess 파일을 업로드한 뒤 flag파일을 클릭하면 아래의 사진처럼 파일을 읽어올 수 있습니다.

이 플래그를 auth에 넣어주면 포인트를 얻을 수 있습니다.

 

* 이 문제에서 웹쉘을 사용하지 않은 이유는 php파일을 올려본 분들은 알겠지만 '<'모양이 필터링되어 사라집니다. 그래서 php코드 자체가 인식이 되지 않기 때문에 웹쉘을 사용하지 못하는 문제입니다.