반응형

웹해킹 109

[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

[SHELLCTF] Extractor - 웹해킹 / SQL Injection

SQL Injection과 관련된 문제 문제 설명이 되게 재미있다. 적들이 핵무기를 사용하려고해서, 방어시스템을 활성화 시키려고 하는데 유일하게 방어시스템 비밀번호를 알고있는 사람이 죽어버려서 로그인을 못한다고 한다. 웹페이지를 통해 비밀번호를 알아내서 자기들을 도와달라고 한다. 간단한 문제지만 이런 상황제시가 되게 몰입하게 해주는것 같다. 문제페이지에 들어가면 이런 화면이 나온다. 아무것도 없이 그냥 그림만 보이는 페이지이고, 맨 위에 메뉴를 보면 Register, logion 두 개의 버튼이 있다. 먼저 Register 페이지에 들어가봤다. Username, Password, Signature 세 가지를 입력하는 칸이 있다. 각각 test1, test2, test3 이라고 입력한 뒤 계정을 하나 생성..

CTF/웹해킹 2022.09.13

[CTFlearn] Git Is Good - 포렌식

CTFlearn의 스물한번째 문제 이번엔 git 과 관련된 포렌식 문제이다. Root Me 에도 비슷한 문제가 있어서 예전에 포스팅 한 적이 있었다. (https://hackingstudypad.tistory.com/182) 문제에서 주어지는것은 gitIsGood.zip 파일이다. 압축을 풀어보면 .git 디렉토리와 flag.txt 파일이 들어있다. 당연한거지만 flag.txt 파일은 가짜이다. 문제가 git이니 아마 원래 플래그 파일 내용을 다른것으로 바꿔놓은듯 하다. 문제는 .git 디렉토리에서 풀면 된다. 내부에 여러 파일과 폴더들이 있는데 가장 먼저 cat HEAD 로 HEAD 파일의 내용을 확인한다. HEAD는 가장 최근 커밋을 가리키고 있는 것이다. refs/heads/master 라는 결과가..

워게임/CTFlearn 2022.09.12

[SHELLCTF] Choosy - 웹해킹 / XSS

SHELLCTF에 나온 첫번째 웹해킹 문제 XSS 와 관련된 문제이다. XSS 는 Cross Site Script 의 약자로 웹서버에 인가되지 않은 사람이 악성 스크립트를 삽입할 수 있는 취약점이다. 보통 공격자들은 자신의 서버를 하나 열어놓은 뒤에, XSS 취약점을 이용하여 타겟 웹 서버에 악성 스크립트를 삽입한 뒤, 사용자들의 인증정보(쿠키값, 세션값 등)를 탈취하는데 이용한다. 문제페이지에 접속하면 이런 화면이 나온다. GiXe me Some intresting Inuput Security is An Illusion 라고 간접적으로 이 문제가 XSS 취약점을 이용한 것이라는걸 알려주고 있다. 화면 가운데 뭔가 입력하고 제출할 수 있는 창이 보이는데 시험삼아 AAA라고 입력해봤더니 Your lower..

CTF/웹해킹 2022.09.10

[Root Me] Local File Inclusion - Double encoding - 웹해킹 / LFI / PHP wrapper

두번째 Local File Inclusion 문제 (첫번째 : https://hackingstudypad.tistory.com/243) 조금 더 발전된 LFI 형태이다. 문제페이지에 접속하면 이런 화면이 뜬다. 웹페이지 기능을 알아보기 위해 메뉴들을 눌러봤는데 CV 메뉴를 들어가면 URL이 ?page=cv 로 바뀌고, Contact 메뉴를 들어가면 URL이 ?page=contact 로 바뀌는 것을 볼 수 있다. 이런식으로 웹 페이지를 구현할 경우, PHP 환경에서 include() 함수를 사용하는데, 적절한 필터링이 없다면 LFI(Local File Inclusion) 취약점이 발생하게 된다. LFI는 말 그대로 서버 내에 있는 파일을 불러와 읽을 수 있는 취약점이다. 단순히 웹 페이지의 소스코드 뿐만 ..

워게임/Root Me 2022.08.29

[Root Me] Local File Inclusion - 웹해킹 / LFI

30점짜리 웹해킹 문제 문제 제목에서 알 수 있는것처럼 LFI (Local File Inclusion) 과 관련된 문제이다. 문제의 목표는 admin section 에 접속하는 것이다. 문제 페이지에 접속했을 때 화면이다 File viewer 라는 제목의 웹페이지로 이름 그대로 서버 내에 있는 파일을 보여주는 기능이 있다. 각각의 메뉴를 눌러보면 중요한 특징이 하나 보이는데 sysadm 메뉴를 클릭할 경우 URL 이 ?files=sysadm 으로 바뀌고, reseau 메뉴를 클릭할 경우 URL 이 ?files=reseau 로 바뀐다는 것이다. 나머지 메뉴들도 모두 똑같이 동작한다. 여기서 파일 이름은 index.html 를 클릭하면 index.html 의 내용을 볼 수 있다. 웹페이지의 오른쪽 끝에 보면..

워게임/Root Me 2022.08.25

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

30점짜리 웹해킹 문제 문제 제목에 나와있는 Server Side Template Injection 문제이다. 오래전에 블로그에서 SSTI 관련된 문제를 다룬적이 있었다. (https://hackingstudypad.tistory.com/150) 그때도 역시나 Root Me에서 제공하는 문제였는데, 다른점이 있다면 그때는 Python 기반의 웹이었고, 이번엔 Java 기반의 웹이라는 것이다. SSTI는 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 이번 문제의 목표는 SSTI 취약점을 이용해 서버 운영체제 명령어를 실행하여 서버 내에 숨겨진 SECRE..

워게임/Root Me 2022.08.18

[CTFlearn] POST Practice - 웹해킹 / Burp Suite

CTFlearn의 열번째 문제 이번엔 웹해킹 문제이다. 처음으로 나온 Medium 난이도의 문제인데 그렇게 어려운 문제는 아니다. 문제 설명을 읽어보면 웹사이트는 POST를 사용해 인증을 하는데, 어떤 사람이 사이트를 디페이스(변조) 했다고 한다. 그 상태에서 인증을 할 수 있겠냐고 물어본다. 주어진 문제페이지 주소로 접근하면 이렇게 하얀 바탕에 글씨만 나온다. POST data가 제출되지 않았다는 문구이다. 문제에서 계속 언급되는 POST는 웹 서버에 클라이언트가 요청 패킷을 보낼때, 데이터를 함께 전송하기 위한 메서드이다. 네이버에 접속을 한다고 가정하면, 단순히 네이버 메인 페이지에 접속하는것은 GET 메서드를 이용해서 서버에 요청을 하고, 로그인을 하거나 댓글을 쓰는등 클라이언트의 데이터를 서버에..

워게임/CTFlearn 2022.08.08

[Root Me] PHP - Filters - 웹해킹 / LFI / PHP wrapper

PHP Filters 와 관련된 웹해킹 문제 이전에도 실제 대회에서 비슷한 문제를 다뤄본 적이 있다. (https://hackingstudypad.tistory.com/143) 문제의 목표는 admin의 비밀번호를 알아내는 것이다. 문제 페이지에 처음 접속하면 이런 화면이 나온다. 페이지 기능을 살펴보기 위해 일단 눈에 보이는 버튼을 눌러봤다. home 버튼을 눌렀더니 URL에서 inc 변수로 accueil.php 페이지를 불러오는걸 볼 수 있었다. 두번째로 login 버튼을 눌러봤더니 이번에도 URL에서 inc 변수로 login.php 페이지를 불러오고 있었다. inc 변수가 핵심인거 같아서 이번엔 inc 변수에 임의로 hello 라고 적어보았다. 그랬더니 에러가 나는데, 에러 내용을 살펴보면 서버에서..

워게임/Root Me 2022.07.18
반응형