1. Improper redirect
: Get access to index.php
일단 게임에 접속하면 계속 로그인 페이지로 리다이렉트된다.
혹시 URL 상에서 조작이 가능한 가 해서 "/web-serveur/ch32/login.php?redirect" 부분에서 login.php?redirect 을 지워서 index.php로 접속했지만 안됐다.
그래서 프록시를 잡아서 burpsuite에서 index.php로 접근했더니 response에서 플래그를 발견할 수 있었다.
2. HTTP verb tampering
: bypass the security establishment
-> 우선 게임에 들어가면 javascript prompt 창이 뜨고, 그 인증 과정을 그냥 통과하면 플래그가 나오는 것인 것 같았다.
그렇지만 http tampering이라는 개념이 생소해서 우선 구글링을 해보았다.
https://vulncat.fortify.com/ko/detail?id=desc.config.java.http_verb_tampering
-> 따라서 GET, POST와 같은 HTTP verb를 조작함으로써 인증 과정을 그냥 통과해 버릴 수 있는 취약점인 것이다.
GET 방식으로 되어있는 verb를 조작해줬더니 바로 플래그를 얻을 수 있었다. 새로운 개념을 알게 되서 신선했다.
3. Install file
-> Do you know PHPBB?? HELLL no.
일단 들어가면 아무것도 없다. 페이지 소스를 확인해보자.
그 다음에는 역시 새로운 페이지가 하나 나타난다. phpBB install에 관련된 내용인것 같으니 구글링을 한번 해보자.
-> 디렉토리를 발견할 수 있다. install.php로 들어가면 플래그를 확인할 수 있다. 일단 페이지 소스를 확인하지 않으면 감을 잡을수가 없지만 그것만 캐치하면 간단한 문제이다.
4. CRLF
-> Inject false data in the journalisation log.
: CRLF injection의 일종인 것 같다. 로그를 조작해야 되는 것 같은데...
-> 일단 접속해서 아이디로 입력을 해보면 이러한 로그가 찍힌다. 잘 생각 해봤을 때 admin authenticated. 이 문구를 주입하면 성공일 듯 싶었다.
일단 CRLF injection이란 %0a등의 개행 문자를 이용해 request를 가짜로 조작하여 명령을 실행하게 만드는 injection이다. 따라서 우선 request를 통째로 http/1.1 200 ok만 추가해서 url encoding을 하는 식으로 시도를 했는데 실패했다.
그러다가 옛날에 webhacking.kr에서 유사한 문제를 풀었던 것이 기억이 났다. 그냥 admin authenticated만 집어넣고 뒤에 개행문자를 집어넣으면 로그가 찍히지 않을까 해서 시도해보았더니 성공했다. 옛날에 이 문제를 안풀어봤다면 꽤나 해멨을 것 같다..쩝
'Wargame > Root-Me' 카테고리의 다른 글
Web-Server) HTTP cookie~ Directory Traversal (0) | 2020.02.16 |
---|---|
Web-Server) LFI -(1),(2) (0) | 2020.02.14 |
Web-Client) javascript 관련 문제 (0) | 2020.01.18 |
Web-Server) improper redirect (0) | 2020.01.16 |
Web-Server) Backup file (0) | 2020.01.16 |