반응형

웹해킹 109

[Root Me] HTTP - Cookies - 웹해킹 / 쿠키변조

20점짜리 HTTP - Cookies 문제 난이도(레벨)을 보면 중간으로 표시되어있는데 사실 이 문제는 굉장히 쉬운 문제이다. Bob 이라는 사람이 사용자 이메일을 수집하기 위해 PHP 스크립트를 작성했다고 한다. 문제페이지에 접속하면 이렇게 Email을 입력하는 칸이 있다. 시험삼아 test@test.com 이라고 입력하고 send 버튼을 눌러보니 Email saved 라는 문구가 출력이됐다. Saved email adresses 버튼을 눌러보니 You need to be admin 이라는 문구가 출력됐다. 해당 내용은 admin만 확인이 가능한 것 같다. f12를 눌러 개발자 도구를 통해 HTML 내용을 살펴보니 중간에 주석으로 처리된 SetCookie("ch7", "visiteur"); 부분이 보였..

워게임/Root Me 2022.06.09

[Root Me] File upload - MIME type - 웹해킹 / WebShell

두번째 파일 업로드 취약점 문제 (지난문제 : https://hackingstudypad.tistory.com/153) 파일 업로드 취약점이란 인가 받지 않은 악성 파일을 공격자가 웹 서버에 업로드하여 시스템 권한을 획득할 수 있는 취약점을 말한다. 보통 웹쉘(WebShell)이라는 것을 만들어서 업로드를 하는데 웹쉘을 업로드하게 되면 웹 페이지를 통해 운영체제 명령어까지 입력할 수 있게 되기 때문에 아주 위험한 취약점이다. 보통 개발자들이 .asp, .php, .jsp 이런 확장자를 업도르 하지 못하게 막아놓는데, 그 이유가 저런 확장자들이 서버에 업로드 될 경우, 서버의 일부로 동작이 되면서 웹쉘로서 기능을 하기 때문이다. 이번 문제역시 저번처럼 php로 작성된 웹쉘을 업로드 하고, 서버 내부에 있는..

워게임/Root Me 2022.06.08

[HackArmour CTF] LeChunk is back! - 웹해킹 / NoSQL Injection

쉬운 난이도의 웹해킹 문제 이번 대회는 참 컨셉에 충실한것 같다. 문제 제목에 나오는 LeChuck은 Monkey Island 라는 게임 시리즈에 나오는 언데드 해적 선장이라고 한다. 나는 처음 들어본 게임인데 영미권에서는 꽤나 유명한 게임인듯 보였다. 문제 설명을 보아하니 LeChuck이 내 웹 페이지를 털어갔는데 아마 이 빌런이 시그니처를 어딘가에 남겨 놓았을 거라고 알려준다. 그 시그니처를 찾는게 문제의 목표인듯 하다. 문페 파일은 따로 주어지지 않고, 문제페이지 주소만 주어진다. 문제 페이지에 접속해보면 위에 보이는 화면이 다다. 검은 바탕에 Hi there! Welcome to the CTF... 라고 적혀있고 입력창, 버튼 등등 아무것도 없다. 일단 문제를 풀기위한 경로를 먼저 찾아야 할 것 ..

CTF/웹해킹 2022.05.30

[Root Me] File upload - Double extensions - 웹해킹 / WebShell

20점 짜리 웹해킹 문제 파일 업로드 취약점과 관련이 있따. 파일 업로드 취약점이란 인가 받지 않은 악성 파일을 공격자가 웹 서버에 업로드하여 시스템 권한을 획득할 수 있는 취약점을 말한다. 보통 웹쉘(WebShell)이라는 것을 만들어서 업로드를 하는데 웹쉘을 업로드하게 되면 웹 페이지를 통해 운영체제 명령어를 입력할 수 있게 되기 때문에 아주 위험한 취약점이다. 보통 개발자들이 .asp, .php, .jsp 이런 확장자를 업도르 하지 못하게 막아놓는데, 그 이유가 저런 확장자들이 서버에 업로드 될 경우, 서버의 일부로 동작이 되면서 웹쉘로서 기능을 하기 때문이다. 문제 페이지에 접속하면 이런 화면이 나온다. emotes, apps, devices, categories, actions 이런 주제의 이모..

워게임/Root Me 2022.05.27

[Root Me] Python - Server-side Template Injection Introduction - 웹해킹 / SSTI

비교적 최근에 출제된 웹해킹(SSTI) 문제이다. SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 문제 페이지에 접속하면 이런 화면이 나온다. 사용자에게 title과 page content를 입력을 받고 있다. 시험삼아 test title / test content 라고 각각 입력을 한 뒤, Render your page! 버튼을 눌러줬다. 그러면 이렇게 내가 입력한 값이 까만 화면에 하얀 글씨로 출력이 된다. 이게 이 웹페이지 기능의 전부이다. SSTI 공격을 할때는 먼저 서버..

워게임/Root Me 2022.05.24

[EZCTF] Super Secure - 웹해킹 / SQL Injection

이번 대회에서 가장 쉬웠던 웹해킹 문제이다. 참고로 해킹대회에서 이번 문제 제목인 Super Secure 처럼 Secure 를 강조한다면 절대 Secure 하지 않은 시스템이다. 문제 설명 역시 This is so unbreakable! 이라고 적혀있는데 무조건 breakable 이다. 이번문제 역시 따로 웹 소스는 주어지지 않고, 문제페이지 주소만 주어진다. 문제 페이지에 접속하면 이런 화면이 나온다. 뭔가 사이버틱한 배경화면에 중간엔 로그인창이 있다. 아무래도 이 로그인 절차를 우회해야 하는듯 하다. 로그인을 우회하는 가장 잘 알려진 방법은 SQL Injection 취약점을 이용하는 것이다. 웹서버를 구현할 때 DB와 상호작용하는 로그인창, 게시판, 검색창 등등 부분에 SQL(Structrued Qu..

CTF/웹해킹 2022.05.21

[EZCTF] I made a blog! - 웹해킹 / LFI / PHP wrapper

LFI 취약점을 이용한 웹해킹 문제였다. 문제 소스는 별도로 주어지지 않고 문제페이지 주소만 주어진다. 문제 페이지에 접속해보면 이런 블로그가 나온다. 취약점이 발생하는 부분은 Blog 페이지이다. Blog 페이지에 가보면 위에 보이는거 처럼 게시글이 3개 저장되어 있다. 첫번째 게시글을 클릭한 뒤에 URL을 확인해 본다. ez.ctf.cafe:9999/blog-posts.php?file=blog1.html 이렇게 적혀있는데 URL에서 ? 뒤에오는 부분은 변수 라고 생각하면 된다. blog-posts.php 페이지에서는 file이라는 변수를 선언하고, 그 변수에 blog1.html 페이지를 담아서(불러와서) 사용자에게 보여주는 것이다. 이런식으로 웹 페이지를 구현할 경우, PHP 환경에서 include(..

CTF/웹해킹 2022.05.17

[angstromCTF] crumbs - 웹해킹 / Requests

이번에 두번째로 참가해본 angstromCTF 시간이 없어서 딱 두 문제만 풀었다. 난이도도 그렇고 컨셉도 재미있는 대회인데 아쉽다. 두번째로 쉬웠던 웹해킹 문제이다. 문제 설명에 Follow the crumbs 라고 적혀있는데 crumbs 는 부스러기 라는 뜻이다. 웬지 헨젤과 그레텔이 생각나는 문제였다. 역시나 별 다른 소스없이 문제 페이지 주소만 주어진다. 문제 페이지에 접속하면 아무것도 없고 딱 저렇게만 나온다. Go to ~~~~ 라고 적혀있는데, 저걸 URL에 그대로 쳐봤다. URL에 쳐보니 또다시 Go to ~~~ 라고 이번엔 다른 문자열들이 나온다. 문제 제목인 crumbs 처럼, 헨젤과 그레텔의 빵 부스러기처럼 저 주소를 계속 따라가야하는듯 하다. 한번 더 테스트해봤는데 역시나 또다시 G..

CTF/웹해킹 2022.05.15

[angstromCTF] The Flash - 웹해킹 / 자바스크립트

이번에 두번째로 참가해본 angstromCTF 시간이 없어서 딱 두 문제만 풀었다. 난이도도 그렇고 컨셉도 재미있는 대회인데 아쉽다. The Flash는 가장 쉬웠던 웹해킹 문제이다. 저스티스리그의 플래시를 컨셉으로 만들었고, 소스없이 문제페이지 주소만 주어진다. 문제 페이지에 접속하면 이런 화면이 나온다. 순간적으로 플래그가 나왔다가 this_is_not_the_flag! 라는 문구로 바뀐다. 이게 동영상으로 봐서 조금 느려보이는데 실제 환경에선 엄청나게 빨라서 자세히 안보면 글자가 바뀐지도 모른다 이런 문제는 f12를 눌러서 개발자도구를 이용해 풀 수 있다. 개발자도구의 '소스' 탭에 들어가보면 웹 소스를 확인할 수 있다. flash.js 파일이 보이는데 순간적으로 플래그를 출력시키는 부분을 난독화해..

CTF/웹해킹 2022.05.14

[Root Me] CRLF - 웹해킹

20점짜리 웹해킹 문제 문제 제목의 CRLF는 Carriage-Return, Line Feed 의 약자인데 쉽게 생각하면 그냥 줄바꿈, 엔터를 의미한다. 문제 페이지에 접속하면 이렇게 로그인 창이 있고, 아래쪽에는 인증 로그가 보인다. admin이 인증에 한번 실패한 뒤 로그인에 성공했고, 그다음 guest가 로그인에 실패한것을 알 수 있다. 시험삼아 hello / hi 를 입력해서 로그인을 시도해봤는데 아래쪽에 hello가 로그인에 실패했다는 로그가 출력되는걸 확인했다. 아무래도 로그를 속여서 admin 으로 로그인을 하면 되는듯 하다. f12를 눌러서 개발자도구로 들어가 본다. 개발자도구에서 해당 페이지의 웹 소스를 볼 수 있는데 사용자 ID를 입력하는 부분의 HTML 코드를 찾아본다. 이라고 적혀있..

워게임/Root Me 2022.05.09
반응형