반응형

정보보안/Dreamhack 5

[Dreamhack] Background: Web 강의 정리

웹의 기초 개념과 발전1. 웹(Web)이란?웹은 인터넷을 기반으로 구현된 서비스 중 하나로, HTTP라는 규칙을 통해 정보를 공유하는 서비스를 말한다.여기서 정보를 제공하는 주체는 웹 서버(Web Server), 정보를 받는 이용자는 웹 클라이언트(Web Clinet)라고 한다.마치 식당에서 서빙하는 사람(서버)과 음식을 주문하는 고객(클라이언트)의 관계와 비슷하게 이해 할 수 있다. 2. HTTP란?  HTTP(HyperText Transfer Protocol)는 웹 상에서 정보를 주고 받기 위한 일종의 규칙이다.서버와 클라이언트는 이 규칙을 기반으로 서로 통신하며 데이터를 교환한다.  웹의 발전과 웹 보안의 중요성초기 웹 서비스는 단순히 저장된 문서를 이용자에게 제공하는 것이 주된 역할이었다. 그러나..

[Dreamhack, WarGame] 4. command injection

드림핵 4번 문제이다.Ping 테스트를 입력하는 곳에 command injection을 이용하는 문제라는 걸 알 수 있다.우선 Ping 테스트를 입력하고, 정상적으로 작동되는 것을 확인한다.   현재 서버에서 ping 테스트를 진행하면  ping -c 3 명령어와 똑같이 진행되는 것을 확인할 수 있다.칼리 리눅스를 이용하여 똑같은 명령어를 실행해보았다.패킷 로스등 네트워크 상태등 환경상황을 제외하곤 똑같은 명령어가 실행된다.   코드를 보면 ping -c 3 "{host}" 값이 있고 저 부분에 ping 명령어를 입력 후 다음 명령어에 연결하여 사용하면 될 것 같다.커맨드 인젝션은 대부분 메타문자를 이용하여 공격 진행을 할 수 있으며, 아래 표를 참고하면 된다. 메타문자설명예시결과;명령어 구분자로 사용됩..

[Dreamhack, WarGame] 3. file-download-1

드림핵 세 번째 문제 file-download-1 이다.그렇게 어렵지 않으니 한 번 해는 걸 추천한다. 우선 접속하면 기본 웹 페이지가 나온다.  Storage, Home, Upload 페이지가 나오고, Upload 페이지에선 Filename과 Content를 작성할 수 있으니 작성한다. 글을 작성하면 Storage에 작성한 글이 생기고,그 페이지로 이동한다.    우선 업로드를 할 때 파일이 아닌 텍스트로 하기 때문에 다운로드도 텍스트로 해야한다는 걸 느낄 수 있다.그리고 문제를 보자마자 느낀 게 상위 디렉토리로 이동하는 ../을 사용할 꺼라고 생각했다.그 이유는 디렉터리 인덱싱과 예전에 포스팅했던 path traversal 같은 공격같았다.우선 Upload 페이지에서 ../flag.py를 작성하니 문..

[Dreamhack, WarGame] 2. devtools-sources

dreamhack 2번 문제이다. 문제 설명에서 나와 있듯이 개발자 도구의 Sources 탭 기능을 활용해서 플래그 값을 찾는 것이다. 너무 단순하고 쉽다. 문제 파일을 다운 받은 후 압축 해제하여 홈페이지를 실행시킨다.개발자도구를 실행 시킨 후 소스탭으로 ctrl + f를 입력하여 DH{를 찾는다.어디에 있을지 모르기 때문에 왼쪽에 있는 페이지 모든 부분을 찾아야한다. DH{ 를 입력하여 찾은 부분이며 나온 flag값을 dreamhack 홈페이지에 입력한다.  입력 후의 모습이다.  후기너무 쉬워서 딱히 사람들에게 도움이 됐을 거라고 생각은 안하지만 그래도 기초가 제일 중요하기 때문에 있는 문제라고 생각이든다.

[Dreamhack, WarGame] 1. cookie

Dreamhack 1번 문제입니다. 문제 설명에 적힌 것 처럼 쿠키로 인증 상태를 관리하여 admin 계정으로 로그인한다. 계정이 없는 ID를 입력하면 not found user라고 나오며,admin / admin을 입력하면 wrong password라고 출력된다.     문제에서 나눠준 py 파일을 확인한다.users = {' guest ' : ' guest',' admin ' : FLAG} 우선 guest의 패스워드는 guest라고 생각이 되고, admin은 FLAG 값이 패스워드 인 것 같으니 guest로 먼저 로그인한다. guest / guest 로 로그인을 했더니 Hello guest, you are not admin이라고 출력된다.처음 문제 설명에서 cookie 값을 이용한다고 했으니, 로그인..

반응형