반응형

CTF/웹해킹 70

[2022 화이트햇 콘테스트 본선] F-1- 웹해킹 / Python / YAML Command Injection

2022 화이트햇 콘테스트 본선에 출제되었던 문제 이전 E-5 문제와 이어지는 문제이다. (https://hackingstudypad.tistory.com/720) F-1 문제에서는 D-2의 악성코드와 통신하는 서버에 취약점을 찾아 공격하고 플래그를 획득하는 것이 목표이다. D-2 문제의 악성코드는 http://15.165.18.103/gmae 에서 다운받은 dd.exe 인데 무력화환 도구들을 실행시켰을 때 dd.exe 가 대신 실행되도록 하는것이었다. dd.exe 가 실행되면 3.39.253.212 목적지로 어떤 값을 보내는데 그 값이 형태가 YAML 형식이었다. 또한 서버의 응답 헤더를 확인해 봤을때 Python 을 이용해 구동중인 것을 확인했다. 이 부분은 문제푸는데 정신이 없어서 캡쳐를 제대로 하..

CTF/웹해킹 2024.04.10

[CODEGATE2022] CAFE(동영상) - 웹해킹 / XSS / CLOVA Dubbing

코드게이트 대회 이후 진행된 코드게이트 해킹 시연 동영상 공모전에 제출했던 동영상이다. 결론적으로 수상은 못했지만 만들어놨는데 묵혀두기 아까워서 블로그에 업로드한다. 해킹 시연 동영상 주제를 뭘로 할까 생각하다가 공모전 문구에 있는 '특히 초급 영상을 환영합니다' 라는 부분을 보고 CODEGATE2022 웹해킹 1번 문제였던 CAFE 의 풀이과정을 동영상으로 만들어 보면 어떨까 싶었다. https://clovadubbing.naver.com/ 클로바더빙 동영상에 보이스를 더하다. 원하는 문장을 입력만 하면 생생한 AI 더빙이 뚝딱. clovadubbing.naver.com 더빙은 어떻게 해야하나 찾아보다가 네이버에 클로바 더빙이라는 좋은 서비스가 있어서 해당 서비스를 이용해 더빙을 만들어 제작했다. 최대..

CTF/웹해킹 2023.09.25

[CODEGATE2022] CAFE - 웹해킹 / XSS

코드게이트2022 예선에 출제되었던 XSS와 관련된 웹해킹 문제 문제 페이지에 접속하면 회원가입을 요구하고, 회원가입을 한 뒤 로그인해서 들어가면 이렇게 게시판 형태의 페이지가 나온다. if( isset($data['title']) && isset($data['content']) ){ $title = htmlspecialchars($data['title']); $content = $data['content']; if (strpos($content, '' . ''; break; case 'p': case 'span': case 'b': case 'h1': case 'h2': case 'h3': case 'h4': case 'h5': case 'h6': case 'strong': case 'em': case..

CTF/웹해킹 2023.09.24

[2021CCE] Search king - 웹해킹 / Python

2021CCE에 출제되었던 웹해킹 문제 게시판 기능에서 발생하는 전형적인 정보 노출 취약점에 대해 다루고 있다. 문제 소스는 따로 없고 문제 페이지 주소만 주어진다. 문제페이지에 접속하면 간단한 게시판 형태가 보인다. admin 이 뭔가 글을써놨는데 Pernission이 ALL 인것과 hacker 인것 두개가 나눠져 있다. All 게시물은 그냥 내용을 읽을 수 있는데 hacker 게시물은 권한이 없어 읽을수가 없다. 이 게시물 안에 문제의 플래그가 숨어있다. 이 게시판의 취약점은 내용 기반 검색을 하는데, 검색시에는 권한을 필터링하지 않는다는 것이다. cce 라고 검색하면 hacker 권한 게시물인 2, 4, 6번 게시글의 내용에 cce 라는 내용이 있기 때문에 저렇게 결과가 나오는 것이다. 저런식으로 ..

CTF/웹해킹 2023.08.20

[2021CCE] basic web - 웹해킹 / LFI

2021년 사이버공격방어대회(CCE)에 출제되었던 웹해킹 문제 생각보다 간단한 문제들이 많이 나왔었다. 이번 문제 역시도 문제 설명에 나와있는것 처럼 웹 사이트에서 자주 발생하는 기본적인 취약점을 다루고 있다. 플래그는 /flag 위치에 있다고 한다. 문제 소스코드는 별도로 주어지지 않고 문제 페이지 주소만 주어진다. 문제 페이지에 들어가면 이런 화면이 나온다. CCE 엔터테이먼트에서 CTS 가 데뷔했다고 한다.. F12를 눌러 개발자 도구에서 해당 페이지의 HTML 을 살펴보았다. 페이지 중간쯤에 2021냔 5월 CTS 의 스케줄표를 다운받을 수 있는 링크가 있는데 URI가 download.php?file= 형태로 구성되어 있었다. 쉬운 난이도의 문제라고 했기 때문에 전형적인 LFI 취약점 일것이라 생..

CTF/웹해킹 2023.08.11

[2021CCE] baby first - 웹해킹 / SQL Injection

2021년 사이버공격방어대회(CCE)에 출제되었던 웹해킹 문제 생각보다 간단한 문제들이 많이 나왔었다. 문제 설명에 나와있는것 처럼 웹 사이트에서 자주 발생하는 기본적인 취약점을 다루고 있다. 문제 소스코드는 별도로 주어지지 않고 주소만 주어졌다. 문제 페이지에 들어가면 이렇게 단순한 로그인 창 하나만 보인다. 전형적인 SQL Injection 문제이다. SQL 인젝션은 사용자의 입력을 서버측에서 적절하게 필터링 하지 못할 경우 발생하고, 공격자는 악의적인 입력값을 통해 데이터베이스에 저장된 비인가 정보에 접근하여 읽을 수 있게 된다. 여기서 해야하는 일은 1. SQL 구문을 변경시킨다. 2. Where(조건)절이 항상 참이 되게끔 한다. 3. SQL 구문을 변경시키고 나서 남은 작은따옴표를 제거해준다...

CTF/웹해킹 2023.08.09

[TMUCTF] Injection - 웹해킹 / SSTI

SSTI 와 관련된 웹해킹 문제 SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 소스코드는 주어지지 않고 문제 페이지 주소만 주어진다. 문제 페이지는 관리자에게 뭔가 리포트 하는 기능을 가지고 있다. 이름을 입력한 곳이 마지막에 Dear [이름], we have received your message 라고 나오는게 보였다. 이곳이 SSTI 백터라고 생각했다. 이 부분이 벡터가 맞는지 확인하는 방법은 아주 쉽다. 여기있는 페이로드를 한번씩 테스트 해보면 된다. 가장먼저 {{7*7}..

CTF/웹해킹 2023.07.09

[TMUCTF] Login - 웹해킹 / PHP

PHP Magic Hash 취약점을 이용한 웹해킹 문제 난이도는 그렇게 어렵지 않다. 별다른 소스파일은 주어지지 않고 문제 페이지 주소만 주어진다. 문제페이지는 비밀번호를 입력하면 되는 페이지이다. 소스도 없고 힌트도 없어서 뭐 어떻게 해야하나 싶었는데 URL에 robots.txt 를 입력해봤더니 힌트를 찾을 수 있었다. GET 메소드로 password 파라미터에 값을 전달받는데, 내가 입력한 password 값과 password 값을 md5 해시한 값이 같으면 플래그가 출력된다. 근데 상식적으로 해시값이랑 원래값이 같을 수가 없다. 하지만 PHP Magic Hash 취약점을 이용하면 가능하다. 구글에 검색하면 해당 값을 바로 찾을 수 있다. : 를 구분자로 앞쪽이 입력값, 뒤쪽이 md5 해시값인데 위처..

CTF/웹해킹 2023.07.07

[n00bzCTF] Secret Group - 웹해킹 / 헤더변조

쉬운 난이도의 문제였지만 상당히 귀찮게 했던 웹해킹 문제 문제페이지에 들어가면 이런 문구가 나온다. agent 가 n00bz-4dm1n secure browser 가 아니라고 하는데 이건 웹 요청 패킷을 보낼때 헤더에 있는 User-Agent 의 값을 보고 판별한다. 요청 패킷을 수정해서 보내야 한다. https://chrome.google.com/webstore/search/modheader?hl=ko 요청 패킷의 해더를 변조할 때는 ModHeader 라는 확장 프로그램을 쓰면 편하다. Chrome 확장 프로그램 설치페이지로 가서 modheader 라고 검색하면 설치할 수 있다. ModHeader를 실행시켜서 이렇게 User-Agent 를 n00bz-4dm1n 으로 변경시켜 활성화해주면 웹페이지가 이렇..

CTF/웹해킹 2023.06.26

[n00bzCTF] Conditions - 웹해킹

조금 어려웠던 웹해킹 문제 일반적인 해킹 기법에 대한 문제가 아니라서 적당한 페이로드를 찾는데 시간이 걸렸다. 문제에서는 server.py 파일과 문제 페이지 주소가 주어진다. 문제 페이지에 접속하면 이렇게 Username 을 입력할 수 있는 칸이 나온다. from flask import Flask, request, render_template, render_template_string, redirect import subprocess import urllib flag = open('flag.txt').read() app = Flask(__name__) @app.route('/') def main(): return redirect('/login') @app.route('/login',methods=['G..

CTF/웹해킹 2023.06.22
반응형