반응형

워게임/Root Me 108

[Root Me] HTTP - Directroy indexing - 웹해킹

15점짜리 Directory indexing 문제 디렉토리 인덱싱이란 웹 서버의 보안설정 미흡으로 인해 공격자가 서버에 있는 폴더/파일의 목록을 볼 수 있는 취약점을 말한다. 디렉토리 리스팅이라고도 불리고, 별거 아닌거 같지만 서버 내에 저장된 중요한 파일이나 백업 파일 등으로 인해 공격자에게 정보가 노출될 수 있는 취약점이다. 문제페이지에 접속해보면 아무것도 없는 빈 화면만 나온다. 일단 가장먼저 f12를 눌러서 개발자도구를 확인해본다. 소스 탭에서 웹 소스를 확인해보니 주석으로 include("admin/pass.html") 이라고 적혀있는걸 볼 수 있다. URL에 /admin/pass.html을 쳐서 들어가보니 큰 의미없는 텍스트만 몇출 출력된다. URL을 보면 http://challenge01.r..

워게임/Root Me 2022.04.17

[Root Me] Backup file - 웹해킹 / Vim

Backup file 과 관련된 문제이다. 웹 서버 관리자들이 서비스를 유지보수하거나 업데이트 할 때 기존 파일들을 백업용으로 저장해두곤 하는데 작업이 다 끝난 뒤에도 백업용 파일들을 서버에서 지우지 않아 소스코드가 그대로 노출되는 경우가 있다. 문제페이지에 접속해보면 이런 로그인창이 나온다. 당연히 일반적인 방법으로 로그인해서 푸는 문제는 아니다. 보통은 백업파일을 만들때 index.php가 있다면 index.php.bak / index.php.old / index.php.tmp 이런식으로 파일 이름만 바꿔서 저장하는 경우가 많다. .bak, .old, .tmp 파일이 서버에 저렇게 존재한다면, url에 index.php.bak 이라고 입력하면 그 파일을 그대로 다운로드 받을 수 있다. 하지만 이번문제..

워게임/Root Me 2022.04.13

[Root Me] PHP - Command injection - 웹해킹 / 명령어삽입

10점짜리 웹해킹 문제이다. 문제 제목으로 유추해 보건데, PHP로 만들어진 웹페이지인것 같다. 문제 설명을 읽어보면 이 서비스의 취약점을 찾아서 exploit을 하라고 한다. 플래그는 index.php 파일안에서 찾을 수 있다고 적혀있다. 문제페이지에 들어가면 입력창이 하나있고, 제출 버튼이 나온다. 입력창에는 기본으로 127.0.0.1이 들어가 있다. 일단 제출버튼을 눌러본다. 127.0.0.1을 입력하고 제출을 누르면 ping 명령어 수행결과가 출력된다. 웹 페이지를 통해서 운영체제 명령어를 실행하고, 그 결과를 가져와서 보여주는 서비스인듯 하다. 참고로 실제 리눅스 환경에서 ping 명령어를 실행시키면 이렇게 뜬다. 출력 내용을 보면 완전 똑같은것을 볼 수 있다. 문제는 이렇게 웹서비스를 통해서 ..

워게임/Root Me 2022.04.05

[Root Me] HTTP - IP restriction bypass - 웹해킹 / 헤더변조

10점짜리 웹해킹 문제이다. network admin이 회사 내에 메일을 뿌린거 같다. 사내 인트라넷을 쓰기 위해서 사설 ip 대역으로 접근제한을 걸어놨다는 내용이다. 참고로 사설 IP 대역은 10.0.0.0 ~ 10.255.255.255 172.16.0.0 ~ 172.31.255.255 192.168.0.0 ~ 192.168.255.255 세 가지 대역이 있다. 문제페이지에 들어가면 로그인 창이 하나 나오게 된다. 맨 위에 내 아이피가 찍히게 되는데, 내 아이피는 12~~ 로 시작하기 때문에 사설 IP 대역이 아니다. 그래서 IP주소가 LAN 구간에 속하지 않는다고 튕기게 된다. 여기에 정상적으로 접근하려면 내 IP가 사설IP 대역인것처럼 웹 서버를 속여야 한다. https://developer.moz..

워게임/Root Me 2022.04.03

[Root Me] HTTP - User-agent - 웹해킹 / 헤더변조

10점짜리 웹해킹 문제이다. 문제 제목이 User-agent 인걸로 보아 User-agent 헤더를 이용해서 풀면 되는듯 하다. User-agent 헤더는 웹 요청 패킷에 있는 헤더이다. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent MDN에 있는 설명을 인용해서 보면, 클라이언트의 어플리케이션, 운영체제, 벤더 및 버전 등을 식별해주는 역할을 한다고 한다. 실제로 위에 캡쳐된 패킷을 보면 Mozilla/5.0 (Windows NT 10.0) 이런식으로 브라우저나 운영체제 정보가 포함되어 있는것을 볼 수 있다. 문제페이지에 들어가보면 "admin" 브라우저가 아니라는 안내문구가 뜬다. 이런건 간단하게 User-agent 헤더를 ..

워게임/Root Me 2022.04.03

[Root Me] HTTP - Open redirect - 웹해킹 / MD5

10점짜리 웹해킹 문제이다. 문제 설명을 보면 Find a way to make a redirection to a domain other than those showed on the web page 라고 적혀있다. 웹페이지에 제동된 도메인 외에 다른곳으로 리다이렉션 시킬 방법을 찾아보라고 한다. 문제페이지에 접속하면 가운데 Social Networks 라고 적혀있고 페이스북, 트위터, 스택 3가지 버튼이 있다. 각 버튼을 클릭하면 실제 SNS 페이지로 이동이 된다. 어떻게 장난을 쳐볼지 고민하기전에 우선 F12를 눌러 개발자도구로 웹 소스를 확인해준다. 개발자도구의 소스 탭에서 웹 소스를 자세히 살펴보면 버튼이 있는 부분에 태그가 있는것을 볼 수 있다. a태그는 링크를 다른 웹피이지로 링크를 걸어주는 역..

워게임/Root Me 2022.03.31

[Root Me] HTML - Source code - 웹해킹 / 주석

5점짜리 아주 쉬운 웹해킹 문제 사실 너무 쉬워서 해킹이라고 부르기도 좀 그렇다. 문제 페이지에 접속하면 로그인 창이 보인다. 비밀번호를 맞춰서 로그인해야하는듯 하다. f12를 눌러 개발자 도구의 '소스' 탭을 확인해 본다. HTML에서 로 처리된 부분은 주석을 의미한다. 웹 소스의 3~14번째 줄을 보면 알 수 있듯이 주석으로 처리된 부분은 웹 페이지에서 동작하지 않고, 회색으로 보이게 된다. 마찬가지로 26~32번째 줄 역시 주석으로 처리되어있는데 아무런 글자가 보이지 않는다. 이건 사실 문제 낸 사람이 장난질 해놓은거다. 스크롤을 오른쪽 끝까지 땡기면 주석으로 쓰여진 내용이 보인다. 주석에는 표시된것 처럼 비밀번호가 적혀있다. 개발자들이 흔히 하는 실수 중 하나로, 개발 당시에 테스트 용으로 달아놓..

워게임/Root Me 2022.03.29

[Root Me] CSRF - 0 protection - 웹해킹 / 크로스사이트요청위조

35점짜리 CSRF 문제이다. 0 protection 이라고 써있는걸 보니 아무런 방어장치가 없는 형태의 문제인듯 하다. CSRF는 XSS와 비슷하다. (XSS 문제 : https://hackingstudypad.tistory.com/48) XSS는 Cross Site Script 의 약자고, CSRF는 Cross Site Request Forgery의 약자이다. XSS가 웹페이지에 악성 스크립트를 삽입하여 동작시키는 취약점이라고 하면, CSRF는 조금 더 심화해서 스크립트나 태그를 이용해 사용자가 하지 않은 행동을 마치 사용자가 한것처럼 만들어버리는 것이다.(ex 비밀번호 변경) 문제페이지에 들어가면 로그인창이 나온다. Register 버튼을 눌러서 먼저 회원가입을 해준다. ID는 hello, 비밀번호..

워게임/Root Me 2022.03.25

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

XSS - Stored 1 문제 드디어 웹 취약점을 이용한 문제가 처음으로 나왔다. administrator의 session cookie를 훔치라고 한다. XSS 는 Cross Site Script 의 약자로 웹서버에 관리자가 아닌 사람이 악성 스크립트를 삽입할 수 있는 취약점이다. 보통 공격자들은 자신의 서버를 하나 열어놓은 뒤에, XSS 취약점을 이용하여 타겟 웹 서버에 악성 스크립트를 삽입한 뒤, 사용자들의 인증정보(쿠키값, 세션값 등)를 탈취하는데 이용한다. 문제페이지에 접속하면 이렇게 간단한 게시판이 나오게 된다. TEST / hello world 라고 한번 입력해봤다. 입력한 내용이 잘 저장되는것을 확인할 수 있다. 웹페이지는 HTML 로 구성되어 있다. HTML의 특징은 각각의 구성요소를 를..

워게임/Root Me 2022.03.23

[Root Me] Javascript - Obfuscation 3 - 웹해킹 / 자바스크립트

세번째 Obfuscation 문제이다. Obfuscation 이란 난독화를 의미한다. 공격자가 자신의 악성코드가 들키기 않기위해, 또는 개발자가 자신의 프로그램을 분석하는것을 방지하기위해 주로 사용되는 기법이다. Obfuscation 1번 문제 : https://hackingstudypad.tistory.com/26 Obfuscation 2번 문제 : https://hackingstudypad.tistory.com/30 세번째 Obfuscation 문제 역시 페이지에 접속하면 비밀번호를 요구한다. 역시나 f12를 눌러 개발자도구를 이용해 웹 소스를 확인해본다. 뭔가 복잡한 자바스크립트 코드가 작성되어 있다. 가장먼저 dechiffre 라는 함수가 선언되어있고, 아래쪽에서 함수를 호출하고 있는 모습이 보인..

워게임/Root Me 2022.03.20
반응형