no image
Mango
https://dreamhack.io/wargame/challenges/90 MangoDescription 이 문제는 데이터베이스에 저장된 플래그를 획득하는 문제입니다. 플래그는 admin 계정의 비밀번호 입니다. 플래그의 형식은 DH{...} 입니다. {'uid': 'admin', 'upw': 'DH{32alphanumeric}'} Reference Servdreamhack.io 문제 서버에 들어갔을 때의 화면이다. app.get('/login', function(req, res) { if(filter(req.query)){ res.send('filter'); return; } const {uid, upw} = req.query; db.collection(..
2024.11.26
no image
CSS Injection
https://dreamhack.io/wargame/challenges/421 CSS InjectionDescription Exercise: CSS Injection에서 실습하는 문제입니다. 문제 수정 내역 2023.08.09 Dockerfile 및 bot 일부 수정 2023.11.27 main.py 및 requirements.txt 수정dreamhack.ioCSS Injection은 웹 애플리케이션의 보안 취약점을 악용하여 악의적인 CSS 코드를 주입함으로써 사용자의 브라우저에서 의도하지 않은 동작을 발생시키는 공격 방식이다. 이는 주로 웹 애플리케이션이 사용자 입력을 충분히 검증하지 않거나, CSS 파일이나 스타일 태그에 대해 제대로 보호 조치를 취하지 않을 때 발생한다. 문제 서버의 메인 페이지이다..
2024.11.20
no image
chocoshop
문제 서버로 들어가면 세션을 발급받는 페이지가 나온다. 세션을 발급받고 전달된 값을 확인하면 coupon_claimed와 money, uuid도 전달되고 있었다. 세션을 발급받으면 shop과 mypage를 확인할 수 있다. 먼저 shop 페이지를 확인해 보면 빼빼로와 flag를 판매하고 있다. 현재 가진 돈이 0이라 위와 같은 문구를 볼 수 있다. 마이페이지에서는 쿠폰 발급과 사용이 가능하다.문제 설명에서 여러 번 쿠폰을 발급받을 수 없지만 사용된 쿠폰을 검사하는 로직이 취약하다고 했기 때문에 발급받은 쿠폰을 사용해서 문제를 해결해야 한다고 생각했다. 일단 발급을 받아보면 1000파운드가 충전되었다.하지만 아직 부족하여 flag를 구매할 수 없다. 그리고 쿠폰을 받은 후에는 coupon_claimed가 ..
2024.11.12
no image
CSP Bypass Advanced
https://dreamhack.io/wargame/challenges/436 CSP Bypass AdvancedDescription Exercise: CSP Bypass의 패치된 문제입니다. 문제 수정 내역 2023.08.07 Dockerfile 제공dreamhack.io  Content Security Policy (CSP) 웹 페이지에서 실행할 수 있는 리소스의 출처를 제어해 악의적인 콘텐츠가 삽입되는 것을 방지한다.주로 문서가 로드할 수 있는 리소스, 특히 JavaScript 리소스를 제어하며, 공격자가 피해자의 사이트에 악성 코드를 삽입할 수 있는 XSS 공격에 대한 방어 수단으로 사용된다.[참고자료]https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP..
2024.11.06
no image
XSS Filtering Bypass Advanced
문제 코드#!/usr/bin/python3from flask import Flask, request, render_templatefrom selenium import webdriverfrom selenium.webdriver.chrome.service import Serviceimport urllibimport osapp = Flask(__name__)app.secret_key = os.urandom(32)try: FLAG = open("./flag.txt", "r").read()except: FLAG = "[**FLAG**]"def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127..
2024.10.28
no image
blind-command
https://dreamhack.io/wargame/challenges/73 blind-commandRead the flag file XD Reference Web Hackingdreamhack.io 문제 설명Read the flag file XD 서버에 들어갔을 때의 화면이다.  #!/usr/bin/env python3from flask import Flask, requestimport osapp = Flask(__name__)@app.route('/' , methods=['GET'])def index(): cmd = request.args.get('cmd', '') if not cmd: return "?cmd=[cmd]" if request.method == 'GET': ..
2024.10.01
no image
web-ssrf
SSRF란?취약한 서버를 이용하여 공격자가 내부 서버에 원하는 요청을 보내도록 하는 방법공격자가 서버를 이용해 내부 네트워크에 대한 요청을 보내거나 외부 시스템에 접근하는 공격 기법이다.보통 공격자가 과도한 정보나 기능을 요청할 경우, 필터링되거나 서버에서 정보를 주지 않지만 웹페이지 번역 서비스, PDF 문서 생성기의 잘못된 구현이나 퍼블릭 클라우드 환경에서 메타서버 접근 통제가 미흡한 경우 발생할 수 있다. SSRF는 CSRF와 이름이 비슷한데 이 두 공격은 매개체가 다르다.SSRF는 서버의 요청을 이용한다면, CSRF는 사용자의 요청을 이용한다.두 공격 모두 공격자가 접근할 수 없는 정보나 시스템에 접근할 수 있도록 하고, 내부에서 정상 요청이라고 인식하게 된다. SSRF 방지입력값 검사사용자의 입..
2024.09.19
no image
rop
Exploit Tech: Return Oriented Programming에서 실습하는 문제 // Name: rop.c// Compile: gcc -o rop rop.c -fno-PIE -no-pie#include #include int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Leak canary puts("[1] Leak Canary"); write(1, "Buf: ", 5); read(0, buf, 0x100); printf("Buf: %s\n", buf); // Do ROP puts("[2] Input ROP payload"); write(1, "Buf: ", ..
2024.05.29
no image
Exploit Tech: Return Oriented Programming
Return Oriented ProgrammingROP : 리턴 가젯을 사용하여 복잡한 실행 흐름을 구현하는 기법공격자는 이를 이용해서 문제 상황에 맞춰 return to library, return to dl-resolve, GOT overwrite 등의 페이로드를 구성할 수 있다.ROP 페이로드는 리턴 가젯으로 구성되는데, ret 단위로 여러 코드가 연쇄적으로 실행되는 모습에서 ROP chain이라고도 불린다.// Name: rop.c// Compile: gcc -o rop rop.c -fno-PIE -no-pie#include #include int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF,..
2024.05.29
Prev 1 2 3 4 ··· 6 Next
반응형