웹(12)
-
Dreamhack [web] flying chars
웹 워게임입니다. 문제 서버에 접속한 화면 알파벳이 엄청 빠르게 지나다니는데//...캡쳐를 해도 글자를 알아보기가 힘들었고 눈 빠질뻔..ㅋㅋㅋㅋㅋㅋ 소스코드를 확인해보자 for(var i = 0; i Math.random()*60+20이 부분이 이미지의 속도를 무작위로 설정해주고있다. console창에서 이미지의 속도를 일정하게 바꾸어주면 플래그를 획득할 수 있을 것 같다. for (var i = 0; i 이미지의 속도를 일정하게 바꿨다. 일렬로 정렬된 flag 개발자 도구에서 이미지를 확인하면 flag를 하나하나 확인할 수 있다. 이미지 링크에 마우스 커서를 올리면 이미지의 미리보기 화면이 나오기 때문에첫번째 방법보다 쉽게 플래그를 확인할 수 있다.첫번째는 알아보느라 힘들었어 ....
2024.05.21 -
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 -
File Vulnerability
File Vulnerability 파일 취약점 File Upload Vulnerability웹 서비스를 통해 파일을 서버의 파일 시스템에 업로드하는 과정에서 발생하는 보안 취약점업로드될 파일의 이름을 임의로 정할 수 있을 때 발생- 파일 이름에 이용자가 입력한 문자열을 그대로 사용- 이용자의 이메일, 닉네임 등을 포함시키는 등의 소스 코드 패턴 Path Traversal 취약점특정 디렉터리에만 업로드를 허용하는 제약을 우회하여, 임의 디렉터리에 파일을 업로드 할 수 있는 취약점@app.route('/fileUpload', methods = ['GET', 'POST'])def upload_file(): if request.method == 'POST': //POST 요청을 받으면 f = request..
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