반응형

워게임/Root Me 108

[Root Me] Crypt-art - 암호학 / Piet / Vigenere Cipher

Root Me 에서 제공하는 암호학 문제 분류는 스테가노그래피로 되어있는데 암호학적인 요소가 있어서 그렇게 다시 분류했다. 문제 설명을 읽어보면 경찰이 테러리스트 그룹의 메세지를 가로챘는데, 메세지에는 다른 통신을 암호화하기 위한 비밀 키가 숨겨져 있다고 한다. 그걸 찾아서 decrypt 하는것이 문제의 목표이다. 문제에서 주어지는건 ch8.ppm 파일이다. ppm 이라는 확장자를 난생 처음봤는데 칼리 리눅스로 파일을 옮겨보니 뭔가 그림이 보였다. 찾아보니 Portable PixMap 의 약자로 이미지 파일의 한 종류라고 한다. 일반적인 이미지 뷰어로는 볼 수가 없어서 어떻게 해야하나 고민하다가 cat 명령어로 파일 내용을 한번 봤더니 수상한 문자열들이 보였다. Hi! Welcome to esoteric..

워게임/Root Me 2022.11.19

[Root Me] APNG - Just A PNG - 포렌식 / 스테가노그래피

오랜만에 풀어본 Root Me의 스테가노그래피 문제 처음 보는 문제유형이라 신기했다. 문제 설명을 읽어보면 대학 동기가 애니메이션 안에 어떤 메세지를 숨겨놓았다고 적혀있다. 문제 제목은 APNG 인데 이게 아주 큰 힌트였다. 문제에서 주어지는것은 ch21.apng 파일이다. 문제 제목과 확장자가 일치하는게 뭔가 있는것 같다. 뭔가 특이한 점이 있나 살펴보기 위해 HxD로 해당 파일을 열어보았다. 맨 앞부분이 89 50 4E 47 0D 0A 1A 0A 로 시작하는것을 볼 수 있는데 모든 PNG 파일은 89 50 4E 47 0D 0A 1A 0A 로 시작한다. 이런걸 파일 시그니처 라고 하는데 아무 PNG 파일이나 골라서 HxD 프로그램으로 열어보면 이렇게 파일의 맨 앞에 똑같이 89 50 4E 47 0D 0..

워게임/Root Me 2022.11.11

[Root Me] NoSQL injection - Authentication - 웹해킹 / Python

NoSQL Injection 과 관련된 웹해킹 문제 NoSQL 이란 Not only SQL 의 약자로 SQL 만을 사용하지 않는 DBMS 를 말한다. 기존 관계형 데이터베이스 보다 덜 제한적인 특징을 가진다. 이번 문제의 목표는 NoSQL Injection 을 통해 숨겨진 USER 를 찾는 것이다. 문제 페이지에 접속하면 이런 로그인 창이 나온다. 시험삼아 ID 와 PW 에 hello / hello 라고 입력해봤다. Bad username or bad password 라는 문구가 출력된다. URL을 보니 입력한 ID 와 비밀번호를 GET 방식으로 서버에 전송하고 있다. ID 는 login 변수에, 비밀번호는 pass 변수에 담아서 넘긴다. https://github.com/swisskyrepo/Paylo..

워게임/Root Me 2022.11.05

[Root Me] PHP - Loose Comparison - 웹해킹 / MD5 Magic Hash

php의 약한 비교(Loose Comparison) 로 인해 발생하는 php magic hash 와 관련된 웹 해킹 문제이다. 문제 페이지에 접속하면 이런 화면이 나온다. seed 와 hash를 입력하는 칸이 있고, 옆에는 check 버튼이 있다. 뭔지 모르겠으니 일단 아래 source code 버튼을 눌러 소스코드를 확인해본다. source code 버튼을 누르면 이렇게 아래쪽에 소스코드가 출력된다. 이 부분부터 살펴본다. seed 에 입력한 값은 $s 에 저장되고, hash 에 입력한 값은 $h 에 저장된다. 각각의 변수에 저장되기 전에 sanitize_user_input 함수와 secured_hash_function 함수에 입력값을 먼저 넣어주는데, sanitize_user_input 함수는 정규식..

워게임/Root Me 2022.10.25

[Root Me] XSS - Stored 2 - 웹해킹 / 크로스사이트스트립트

오랜만에 포스팅하는 Root Me 문제 이번엔 두번째 XSS 문제이다. (첫번째 문제 : https://hackingstudypad.tistory.com/48) 두번째 문제라 그런가 점수가 50점으로 확 올라갔다. 문제의 목표는 첫번째 문제와 동일하게 administrator 의 session cooike 를 훔치는 것이다. XSS 는 Cross Site Script 의 약자로 웹서버에 관리자가 아닌 사람이 악성 스크립트를 삽입할 수 있는 취약점이다. 보통 공격자들은 자신의 서버를 하나 열어놓은 뒤에, XSS 취약점을 이용하여 타겟 웹 서버에 악성 스크립트를 삽입한 뒤, 사용자들의 인증정보(쿠키값, 세션값 등)를 탈취하는데 이용한다. 문제 페이지에 접속하면 이런 간단한 게시판 형태가 보인다. 왼쪽에 ad..

워게임/Root Me 2022.10.19

[Root Me] SQL injection - Authentication - GBK - 웹해킹 / Burp Suite

Root Me의 세번째 SQL injection 문제 이번 문제는 쪼금 어려울 수도 있다. 문제자체는 어렵지 않은데 많이 생소하기 때문.. 문제의 목표는 admin 으로 로그인 하는 것이다. 중간에 보면 파란색으로 힌트가 써있는것이 보인다. Do you speak chinese ? 라고 적혀있는데 이건 문제 제목에도 적혀있는 GBK 때문이다. GBK 는 중국에서 사용하는 간체 중국어에대한 문자 세트를 말한다. 국가표준(国家标准) 을 중국어로 Guojia Biaozhun 이라고 발음하는데, 여기서 G 와 B 를따고, 확장하다는 의미인 扩展 (Kuozhan) 에서 K 를 따와서 GBK 라고 지었다고 한다. 그냥 쉽게 생각하면 컴퓨터로 간체 중국어를 쓰기위해 만든 인코딩이다. 문제 페이지에 접속하면 이런 화면..

워게임/Root Me 2022.09.26

[Root Me] SQL injection - String - 웹해킹

계속해서 이어지는 Root Me의 SQL Injection 문제 이번 문제의 목표 역시 취약점을 이용해 administrator 의 비밀번호를 빼앗는 것이다. 문제페이지에 처음 접속했을때 화면이다. Home 의 아래에 있는 버튼이 총 5개 있는데 버튼을 하나씩 눌러보면 위처럼 뭔가 게시글같은 느낌으로 글들이 써있는게 보인다. 페이지 오른쪽 위에는 Search 와 Login 페이지로 이동할 수 있는 버튼이 있다. SQL Injection 문제이니 검색창에 가장먼저 ' or 1=1-- - 라고 입력해봤다. 그랬더니 인젝션이 성공해서 아래쪽에 모든 게시글이 출력된 것이 보인다. ' or 1=1-- - 이라고 입력한다면 where 절이 항상 참이되기 때문에 테이블의 모든 결과가 나온것이다. SQL 인젝션이 가능..

워게임/Root Me 2022.09.23

[Root Me] SQL injection - Authentication - 웹해킹

Root Me 에서 제공하는 SQL Injection 문제 문제의 목표는 취약점을 이용해 administrator 의 비밀번호를 빼앗는 것이다. 문제페이지에 접속하면 이렇게 간단한 로그인 창이 나오게 된다. 시험삼아 Login / Password 에 admin / admin 이라고 입력해봤다. 당연하게 Error : no such user/password 라는 문구가 출력된다. 웹을 구현할 때 DB와 상호작용하는 로그인창, 게시판, 검색창 등등 부분에 SQL(Structrued Query Language) 이라는 DB 언어를 이용해 데이터를 불러오고, 또 저장하는데 서버에서 DB로 전달하는 SQL문을 비인가자가 조작이 가능할 경우 취약점이 발생한다. SQL 인젝션 취약점이 존재하는지 알아볼 수 있는 가장..

워게임/Root Me 2022.09.18

[Root Me] Logs analysis - web attack - 포렌식 / 로그분석 / Python

Root Me 의 웹 서버 접근로그 포렌식 문제 문제 설명을 읽어보면 웹사이트가 공격을 당했는데, 자기들 회사의 system admin 웹 서버 로그를 볼 줄 몰라 도와달라고 한다. 목표는 어떤 데이터가 유출되었는지 찾아내는 것이다. 192.168.1.23 - - [18/Jun/2015:12:12:54 +0200] "GET /admin/?action=membres&order=QVNDLChzZWxlY3QgKGNhc2UgZmllbGQoY29uY2F0KHN1YnN0cmluZyhiaW4oYXNjaWkoc3Vic3RyaW5nKHBhc3N3b3JkLDEsMSkpKSwxLDEpLHN1YnN0cmluZyhiaW4oYXNjaWkoc3Vic3RyaW5nKHBhc3N3b3JkLDEsMSkpKSwyLDEpKSxjb25jYXQ..

워게임/Root Me 2022.09.15

[Root Me] ELF x86 - Stack buffer overflow basic 2 - 포너블 / 버퍼오버플로우

Root Me 의 두번째 포너블 문제 살짝 더 어려워진 버퍼오버플로우 문제이다. 아래쪽에 Environment configuration 을 보면 첫번째 문제와 다르게 NX (Non-Executable Stack) 과 Heap exec 가 설정되어 있는게 보이는데 이번 문제에서 딱히 의미있는 설정은 아닌것 같다. #include #include #include #include void shell() { setreuid(geteuid(), geteuid()); system("/bin/bash"); } void sup() { printf("Hey dude ! Waaaaazzaaaaaaaa ?!\n"); } void main() { int var; void (*func)()=sup; char buf[128]; ..

워게임/Root Me 2022.09.11
반응형