목록WebHacking/WarGame (65)
Iriton's log
phpregDescription php로 작성된 페이지입니다. 알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다. Step 2에서 system() 함수를 이용하여 플래그를 획득하세요. 플래그는 ../dream/flag.txt에 위치합니dreamhack.io Descriptionphp로 작성된 페이지입니다.알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다.Step 2에서 system() 함수를 이용하여 플래그를 획득하세요.플래그는 ../dream/flag.txt에 위치합니다. 풀이 step1에서는 닉네임과 패스워드를 입력해야 한다.알맞은 닉네임과 패스워드가 뭔지 확인하기 위해 코드를 살펴 봤다. 정규식 필터링을 진행한다.name의 경..
https://dreamhack.io/wargame/challenges/106 chocoshopDescription 드림이는 빼빼로데이를 맞아 티오리제과에서 빼빼로 구매를 위한 쿠폰을 받았습니다. 하지만 우리의 목적은 FLAG! 그런데 이런, FLAG는 너무 비싸 살 수가 없네요... 쿠폰을 여러 번 발급dreamhack.io 페이지 분석익숙한 드림핵 문제가 아니라 Dreamhack CTF Season 1 Round #3 에 출제된 문제라고 해서 페이지부터 살펴 봤다.해당 버튼을 누르면 세션을 발급 받아서 앞으로 활동에 쓰이는 것 같다. 세션 발급 받아서 시작하면 쇼핑 페이지와 마이 페이지가 있다. 쇼핑하려고 해도 맨 오른쪽 위를 보면 돈이 없어서 BAD Request가 뜨는 걸 볼 수 있다.근데 뒤로..
https://dreamhack.io/wargame/challenges/436 CSP Bypass AdvancedDescription Exercise: CSP Bypass의 패치된 문제입니다. 문제 수정 내역 2023.08.07 Dockerfile 제공dreamhack.ioCSP Bypass란?Content Security Policy (CSP)는 XSS 취약점을 활용한 공격으로부터 피해를 최소화하기 위해 새롭게 추가된 보안 계층 이를 우회하기 위한 방법 CSP Bypass인라인 코드를 이용 - 태그의 src 속성으로 로드하는 게 아닌 태그 내에 직접 코드를 삽입JSONP - JS의 페이로드는 callback이라는 GET 매개변수를 통해 JSONP 엔드포인트에 삽입할 수 있으며 엔드포인트는 SOP(동일출..
https://dreamhack.io/wargame/challenges/434 XSS Filtering Bypass AdvancedDescription Exercise: XSS Filtering Bypass의 패치된 문제입니다. 문제 수정 내역 2023.08.04 Dockerfile 제공dreamhack.io 코드 분석#!/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.urando..
blind-commandRead the flag file XD Reference Web Hackingdreamhack.io 페이지 분석문제 페이지에 접속하면 보이는 화면이다.cmd 파라미터를 통해서 명령어를 실행할 수 있나? 싶어서 ls를 먼저 보냈다. 문자열을 그대로 출력한다. 코드 분석코드는 너무 간단하다.cmd 값이 있을 때 기준, 요청이 GET 메소드인 경우 조건문 아무런 동작을 하지 않고다른 메소드일 경우 시스템 명령어를 실행한다. URL을 통해 ?cmd=ls를 추가했을 때 HTTP 요청 메소드가 GET 메소드이기 때문에 실행되지 않았다./ 경로에서 methods=['GET']으로만 정의되어 있다. 웹 서버에 POST 메소드로 전달하는 것도 POST 메소드가 정의되어 있지 않아서 불가하다. ..
보호되어 있는 글입니다.
문제를 클릭하니 까만 화면과 함꼐 debug me 라는 경고창이 떴다. 페이지 소스를 보려고 하니 전혀 읽을 수 없게 되어 있었다.구글링 해 보니 코드를 예쁘게 정리해 주는 좋은 사이트가 있어서 활용해 봤다.링크: Online JavaScript beautifier Online JavaScript beautifierBeautify JavaScript, JSON, React.js, HTML, CSS, SCSS, and SASSbeautifier.io 진짜 예쁘게 정리해 준다.아까 debug me라고 뜬 경고창이 생각나서 [Ctrl + F]로 alert를 쳐 봤다. 그랬더니 조건문을 볼 수 있었다.else문을 콘솔창에 넣고 실행시켜 보았다. 그랬더니 아까 본 경고창이 떴다.그럼 if문이 성립하지 않을 때 경..
https://webhacking.kr/challenge/web-12/ Challenge 27 webhacking.kr 웹에 들어가, 소스 코드를 확인해 보았다.여기서 ?view_source=1 를 클릭하여 상세 코드를 볼 수 있었다.잘은 모르겠지만 대충 아이디가 guest면 guest를 반환하고admin이면 문제가 해결되는 거 같다. 구글링해 본 결과if(preg_match("/#|select|\(| |limit|=|0x/i",$_GET['no'])) exit("no hack");=> preg_match 함수를 통해 select, limit 등 문자열을 필터링하고 no hack을 출력. $r=mysqli_fetch_array(mysqli_query($db,"select id from chall27 wh..