본문 바로가기

pico CTF24

[picoCTF] More SQLi 1. 개요 union sql injection, sqlite 문제 2. 분석 힌트로 sqlite 라고 주어졌습니다. sql 수행결과를 보여주는데, ' or 1 = 1 -- 을 admin,password에 넣어서 조건을 항상 참으로 만듭니다. (--는 sqlite에서 뒤의 구문을 주석 처리합니다) 로그인을하면 이러한 화면이 나오는데, 전형적인 쉬운 union sql injection 문제처럼 생겼습니다. union 에 들어가는 칼럼의 개수를 1개씩 늘려보면서 union 앞에 작성된 조회 구문의 칼럼 개수가 몇개인지 찾습니다. ' union select 1, 2, 3 -- 3개일때 조회되어서, union 앞에 작성된 조회 구문의 칼럼 개수는 3개입니다. ' union select type, sql, 3 fr.. 2023. 4. 29.
[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.