Write Up/Root me
-
Login하고 Password입력하는 부분이 나온다. CRLF는 Carriage Return + Line Feed로 줄바꿈을 의미한다. 그래서 보통 \r\n으로 나타내거나 %0d%0a로 나타낸다. 이번 문제는 CRLF를 이용하여 LOG를 변조시켜야 한다. 그래서 admin%20authentication.%0d%0aguest&password=admin을 넣으면 admin authentication.이 강제 삽입 된다. 그 결과 password가 나온다. Savoir, penser, rêver. Tout est là.
[Root-me] Web Server 14. CRLFLogin하고 Password입력하는 부분이 나온다. CRLF는 Carriage Return + Line Feed로 줄바꿈을 의미한다. 그래서 보통 \r\n으로 나타내거나 %0d%0a로 나타낸다. 이번 문제는 CRLF를 이용하여 LOG를 변조시켜야 한다. 그래서 admin%20authentication.%0d%0aguest&password=admin을 넣으면 admin authentication.이 강제 삽입 된다. 그 결과 password가 나온다. Savoir, penser, rêver. Tout est là.
2023.02.03 -
창에 아무것도 없다. Source를 열어보니 /web-serveur/ch6/phpbb 여기가 주석처리 되어있다. 들어가 보니 또 아무것도 없다. phpbb는 file을 업로드한 위치를 찾을 때 install dir을 참조한다. 그래서 install을 입력하니 install.php 코드가 보였다. install.php를 가니 password가 나온다. Savoir, penser, rêver. Tout est là.
[Root-me] Web Server 13. Install files창에 아무것도 없다. Source를 열어보니 /web-serveur/ch6/phpbb 여기가 주석처리 되어있다. 들어가 보니 또 아무것도 없다. phpbb는 file을 업로드한 위치를 찾을 때 install dir을 참조한다. 그래서 install을 입력하니 install.php 코드가 보였다. install.php를 가니 password가 나온다. Savoir, penser, rêver. Tout est là.
2023.02.03 -
로그인하는 page가 나온다. 로그인을 할 때마다 다시 뜨니까 문제를 보았다. HTTP Verb와 관련이 있었다. HTTP Verb는 HTTP Method와 똑같다. 현재는 GET으로 되어 있으니 OPTIONS으로 바꾸니까 password가 나왔다. Savoir, penser, rêver. Tout est là.
[Root-me] Web Server 12. Verb tampering로그인하는 page가 나온다. 로그인을 할 때마다 다시 뜨니까 문제를 보았다. HTTP Verb와 관련이 있었다. HTTP Verb는 HTTP Method와 똑같다. 현재는 GET으로 되어 있으니 OPTIONS으로 바꾸니까 password가 나왔다. Savoir, penser, rêver. Tout est là.
2023.02.03 -
이 페이지의 권한을 획득하라고 나와 있다. id: admin, pw: admin을 입력하니 인증 실패라고 나온다. redirect니까 login.php?redirect가 뜨기 전 index.php로 보내보았다. 그러니까 FLAG가 나왔다. Location HTTP header 때문에 바로 login.php?redirect로 넘어가는 것 같다. Savoir, penser, rêver. Tout est là.
[Root-me] Web Server 11. HTTP - Improper redirect이 페이지의 권한을 획득하라고 나와 있다. id: admin, pw: admin을 입력하니 인증 실패라고 나온다. redirect니까 login.php?redirect가 뜨기 전 index.php로 보내보았다. 그러니까 FLAG가 나왔다. Location HTTP header 때문에 바로 login.php?redirect로 넘어가는 것 같다. Savoir, penser, rêver. Tout est là.
2023.02.02 -
게임이 하나 생겼다. Give a try! 를 누르자 졌다고 나온다, 아마 999999의 점수를 넘어야 될 것 같다. 버튼을 눌렀을 때 request의 body는 사진과 같다. score가 나오고 generate를 받아서 request를 전송한다. 그럼 이 요청을 intercept 해서 > 999999보다 크게 해서 날리면 될 것 같다. 오호~~ 1,000,000을 주자 FLAG가 나왔다. Savoir, penser, rêver. Tout est là.
[Root-me] 10. Web Server HTTP - POST게임이 하나 생겼다. Give a try! 를 누르자 졌다고 나온다, 아마 999999의 점수를 넘어야 될 것 같다. 버튼을 눌렀을 때 request의 body는 사진과 같다. score가 나오고 generate를 받아서 request를 전송한다. 그럼 이 요청을 intercept 해서 > 999999보다 크게 해서 날리면 될 것 같다. 오호~~ 1,000,000을 주자 FLAG가 나왔다. Savoir, penser, rêver. Tout est là.
2023.02.02 -
흐음... HTTP response가 유일한 부분이 아니다라... HTTP request에 대한 response이다. HTTP Header 중 신기한 header가 있다. Header-RootMe-Admin: none인데 한번 true로 바꿔보겠다. 어엇!! 문제가 풀렸다 ㅋㅋㅋㅋ Savoir, penser, rêver. Tout est là.
[Root-me] Web Server 9. HTTP - Header흐음... HTTP response가 유일한 부분이 아니다라... HTTP request에 대한 response이다. HTTP Header 중 신기한 header가 있다. Header-RootMe-Admin: none인데 한번 true로 바꿔보겠다. 어엇!! 문제가 풀렸다 ㅋㅋㅋㅋ Savoir, penser, rêver. Tout est là.
2023.02.02 -
아무것도 없다... 뭐지... 코드를 보면 admin/pass.html이 include 되어 있다고 나와 있다. 해당 경로에 가면 걍 찾아라고 나와 있다. 뭐지..... 어 admin만 입력하니까 backup/ 이 나온다... 오호~~ backup/admin/admin.txt에 password가 나온다. Savoir, penser, rêver. Tout est là.
[Root-me] Web Server 8. HTTP - Directory Indexing아무것도 없다... 뭐지... 코드를 보면 admin/pass.html이 include 되어 있다고 나와 있다. 해당 경로에 가면 걍 찾아라고 나와 있다. 뭐지..... 어 admin만 입력하니까 backup/ 이 나온다... 오호~~ backup/admin/admin.txt에 password가 나온다. Savoir, penser, rêver. Tout est là.
2023.02.02 -
Login하는 page가 나온다. 문제 그대로 backup file이 존재한다. 그럼 backup file의 종류는 어떤게 있을까?? 보통 .filename.swp, filename.bak, filename.backup 등등 이렇게 있다. 그리고 filename~도 backup file이다. swp는 리눅스에서 의도치 않게 종료되는 경우 생기는 파일이고, ~는 리눅스에서 vim 편집기를 사용하고 있을 때 자동으로 backup file을 만들어 주는 역할을 한다. 그리고 bak나 backup은 말 그대로 backup파일 확장자를 뜻한다. URL에다가 index.php~을 치면 backup file이 다운로드 된다.
[Root-me] Web Server 7. Backup FileLogin하는 page가 나온다. 문제 그대로 backup file이 존재한다. 그럼 backup file의 종류는 어떤게 있을까?? 보통 .filename.swp, filename.bak, filename.backup 등등 이렇게 있다. 그리고 filename~도 backup file이다. swp는 리눅스에서 의도치 않게 종료되는 경우 생기는 파일이고, ~는 리눅스에서 vim 편집기를 사용하고 있을 때 자동으로 backup file을 만들어 주는 역할을 한다. 그리고 bak나 backup은 말 그대로 backup파일 확장자를 뜻한다. URL에다가 index.php~을 치면 backup file이 다운로드 된다.
2023.02.02