Wargame/Root-me = Web - Server
-
<Root-me> PHP - Command injectionWargame/Root-me = Web - Server 2022. 1. 2. 14:13
PHP - Command injection IP를 입력하라는 것 같다. 특정 IP 주소를 제출해보면 ping 명령어의 결과를 출력한다. ping 명령어는 다양한 원격 호스트와 네트워크 상태를 판별하고, 하드웨어 및 소프트웨어 문제점을 추적 및 격리하며, 네트워크를 테스트, 측정 및 관리하는데 사용한다. 패킷이 3개만 출력되는 것으로 보아 "ping -c 3 {IP 주소}"를 실행하는 것 같다. 문제 설명을 보면 FLAG는 index.php 파일 안에 있다고 한다. Commad Injection 공격을 수행할 때 "&&"와 "||"을 사용할 수 있다. && 명령어 연속 실행 한 줄에 여러 명령어를 사용하려 할 때 사용 앞 명령어에서 에러가 발생하지 않아야 뒷 명령어 실행 $ echo hi && echo w..
-
<Root-me> SQL injection - AuthenticationWargame/Root-me = Web - Server 2022. 1. 1. 23:55
SQL injection - Authentication 관리자 비밀번호를 찾으라고 한다. 기본적인 SQL Injection 구문인 Login에 "' or 1=1-- "을 입력하고 Password에는 아무 값을 입력하면 사용자 정보가 출력된다. 페이지 소스 코드를 살펴보면 비밀번호가 출력되게 되어있어 관리자의 ID만 찾으면 될 것 같다. Login에 "admin'-- "를 입력하고 Password에 아무 값을 입력하면 비밀번호를 얻을 수 있다.
-
<Root-me> HTTP - CookiesWargame/Root-me = Web - Server 2022. 1. 1. 00:36
HTTP - Cookies 문제의 설명을 보면 Bob이 사용자의 이메일을 모으기 위해 php 코드를 만들었다. "Saved email adresses" 링크를 누르면 저장된 E-mail을 확인하려면 admin이 되야한다고 한다. 문제 제목이 "Cookie"인 만큼 쿠키를 살펴보면 "visiteur"라는 값을 가지는 "ch7" 키가 있다. "visiteur"는 프랑스어로 방문자라는 뜻이다. 프랑스어는 모르기에 그냥 "admin"을 입력해보았다. 다시 "Saved email adresses" 링크를 누르면 비밀번호를 획득할 수 있다.
-
<Root-me> File upload - Double extensionsWargame/Root-me = Web - Server 2021. 12. 31. 15:32
File upload - Double extensions 문제 설명을 살펴보면 PHP 코드를 업로드하여 갤러리를 해킹하여 .passwd에 들어있는 비밀번호를 찾으라고 한다. 먼저, upload에서 테스트 사진을 업로드 해본다. 파일 형식은 ".gif", ".jpeg", ".png"만 업로드할 수 있다고 한다. "test.png"를 업로드하면 파일 위치를 출력한다. php 코드를 업로드하여 문제를 풀기 위해 으로 php 파일을 만들고, 확장자를 png로 변경한다. ex) test.php.png "test.php.png"가 위치한 경로에 접근해 URL에 "?cmd=ls"를 입력하면 "./upload/03a75dcdd6e46342d63f1d290ce8d8e9"에 위치한 파일들을 보여준다. ".passwd" 파..
-
<Root-me> HTTP - POSTWargame/Root-me = Web - Server 2021. 12. 31. 12:08
HTTP - POST "Give a try!" 버튼을 눌러 생성된 점수가 컴퓨터의 점수보다 높아야한다. 컴퓨터의 점수는 999999라고 한다. "Give a try!" 버튼을 눌러보면 999999보다 낮은 점수를 얻고, 컴퓨터가 항상 최고라고한다. 페이지 소스 코드를 살펴보면 POST 방식으로 전달하는 것을 알 수 있다. Burp Suite를 사용하여 "Give a try!" 버튼을 눌렀을 때, 전달되는 값을 살펴보면 score를 값으로 전달하는 것을 볼 수 있다. Burp Suite의 Repeater를 사용하여 score의 값을 1000000으로 전달하면 FLAG 값을 획득할 수 있다.
-
<Root-me> HTTP - Directory indexingWargame/Root-me = Web - Server 2021. 12. 31. 01:35
HTTP - Directory indexing 빈 페이지만 출력한다. 페이지 소스 코드를 살펴보면 "./admin/pass.html"에 접근해보면 딱히 도움이 되는 것 같진 않다. 상위 경로인 "./admin"에 접근해보면 위에서 본 "pass.html" 파일과 "backup" 디렉터리가 존재한다. "backup" 디렉터리에 접근하면 "admin.txt"가 있는데 이 안에 비밀번호가 들어있다.