webhacking(9)
-
DreamHack [web] Carve Party
web분야 워게임 문제 서버는 없고 파일만 존재한다.파일을 다운받으면하나의 html이 존재하고 접속하면호박 그림이 있다.10000번 클릭하면 flag가 출력된다는 것을 추측해볼 수 있다. 노가다로 풀 수 있는 문제 못참지~ㅋㅋㅋㅋㅋㅋㅋㅋ200번 정도 클릭해봤더니 호박에 입이 생겼다.^▽^ 이런 모습이지 않을까?ㅋㄱㅋㄱㅋㄱ 소스코드 확인 $('#jack-target').click() 함수가 counter의 값을 증가시킨다. counter의 값을 수정하면?0이 나왔지만 이상한 문장이 출력되었다.counter의 값을 바꾸면 안되고 클릭을 해야하는 것 같다.내가 10000번을 클릭하면 내 마우스가 세상을 떠날 것 같으니 자동으로 실행되도록 코드를 짰다. var i=0while(ii가 10000보다 작을동안..
2024.05.06 -
DreamHack [web] web-ssrf
dreamhack webhacking의 ssrf에서 파생된 워게임이다. 서버에 접속하면 /home /about /contact 경로가 있다. 아래 image viewer를 누르면 해당 화면이 출력된다. view를 클릭하면dreamhack 이미지가 나오고소스 코드를 확인해보면 엄청 긴 base64로 encoding된 소스 코드를 확인할 수 있다.(밑으로 더 길게 있다,,,) 플래그가 있는 경로 /app/flag.txt를 입력하면 해당 화면이 출력된다.해당 화면에서 출력되는 인코딩형식을 디코딩하면 404 Not Found Not Found The requested URL was not found on the server. If you entered the URL manually please check ..
2024.05.06 -
SSRF
HTTP 라이브러리PHP : php-curlNodeJS : httppython : urllib, requests => HTTP 요청을 보낼 client 뿐만 아니라 server와 server간 통신을 위해 사용되기도 한다. SSRF (Server-Side Request Forgery)웹 서비스의 요청을 변조하는 취약점브라우저가 변조된 요청을 보내는 CSRF와는 다르게 웹 서비스의 권한으로 변조된 요청을 보낼 수 있다. 웹 서비스가 보내는 요청을 변조하기 위해서는 요청 내에 이용자의 입력값이 포함돼야 한다. ex1) 웹 서비스가 이용자가 입력한 URL에 요청을 보내는 경우image_downloader이용자가 입력한 image_url을 requests.get 함수를 사용해 GET 메소드로 HTTP 요청을 보..
2024.05.06 -
DreamHack [web] image-storage
웹해킹의 File Vulnerability에서 파생된 워게임 문제다. 학습한 내용을 바탕으로 문제에 접근하여 보다 쉽게 플래그를 획득할 수 있었다. 서버에 접속하면 Home, List, upload 페이지가 존재한다. 문제 파일은 index.php, list.php, upload.php 총 3개의 php 파일이 있다. upload.php 파일 확인 결과 업로드 된 파일의 이름을 $name 변수에 할당한 후, 그대로 저장하고 있다. 플래그가 /flag.txt 경로에 존재하는 것을 문제 설명을 통해 확인할 수 있다./flag.txt로 이동하여 파일을 읽을 수 있는 command를 php문으로 작성했다.파일을 읽고 내용을 출력하는 cat 명령어를 사용하였다. 정상적으로 업로드가 되었고 /List..
2024.05.06 -
cookie & session
cookie key와 value로 이뤄진 일종의 단위 서버가 클라이언트에게 쿠키를 발급하면, 클리이언트는 서버에 요청을 보낼 때마다 쿠리를 같이 전송 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용 클라이언트의 브라우저에 저장되고 요청에 포함되는 정보 클라이언트는 쿠키 정보를 변조해 서버에 요청을 보낼 수 있음 session 쿠키에 인증 상태를 저장하지만 클라이언트가 인증 정보를 변조할 수 없게 하기 위해 사용 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는 키(==session ID)를 만들어 클라이언트에 전달하는 방식으로 작동 > 브라우저는 session ID를 쿠키에 저장하고 이후에 HTTP 요청을 보낼 때 사용 > 서버는 요청에 포함된 키에 해당하는 데이터를 가져와 인증 상태..
2023.10.13 -
DreamHack [Web] file-download-1
웹해킹 워게임입니다. 예시에 적힌 문장 그대로 입력파일 생성되고 read?name=my-first-memo 이름으로 파일 읽기 /read?name=으로 읽으니 flag.py를 써보았는데 소스코드#!/usr/bin/env python3import osimport shutilfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__name__)UPLOAD_DIR = 'uploads'@APP.route('/')def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files)@APP.rou..
2023.09.19