본문 바로가기

전체 글237

[angstromCTF 2023] hallmark 1. 개요 svf XSS, JavaScript 문법 문제 2. 분석 1) SVG XSS SVG XSS에서 가장 중요한 것은 Content-type: image/xvg+xml 이어야한다는 것 입니다. 2) JavaScript 값 비교 == vs === 업데이트 API를 살펴보면, cards[id].type에 값을 넣는 삼항 연산자에서 조건 검색을 "==" 으로 값 비교를 수행하고 content에는 "===" 을 사용합니다. XSS를 위해서 type이 "image/xvg+xml" 이어야하고, 동시에 아니어야 content 가 삽입됩니다. app.put("/card", (req, res) => { let { id, type, svg, content } = req.body; if (!id || !cards[id.. 2023. 4. 29.
[angstromCTF 2023] Celeste Speedrunning Association 1. 개요 web 분석, payload 조작문제 2. 분석 버튼을 누르면 시작시간을 보내고, 모두를 이겨야한다고 합니다. 아마도 서버에서 걸린시간 = 종료 시간 - 시작 시간으로 계산하는 것 같습니다. 아예 시작시간을 미래의 숫자로 넣어서, 걸린시간을 음수로 넣어줍니다. 시작 시간 포맷은 unix time stamp 입니다. 3. 코드 import requests base_url = "https://mount-tunnel.web.actf.co" data = { 'start': 2682752325.8505517 } result = requests.post(f"{base_url}/submit", data) print('result: ', result.text) 2023. 4. 29.
[ctfLearn] Inj3ction Time 1. 개요 union sql injection, mysql 문제 2. 분석 sql injection이 걸리는 것을 확인했습니다. 1 or 1 = 1 # 이 주석으로 동작하는 것을 볼때 mysql 계열 DB 같습니다. 1 # asdf union 을 걸면서 앞의 조회구문이 몇개의 칼럼을 조회하는 지 찾습니다. (4개를 조회하고 있습니다) 1 union select 1, 2, 3, 4 현재 사용중인 데이터베이스 명은 webheight 입니다. 1 union select 1, 2, database(), 4 테이블 목록을 찾습니다. w0w_y0u_f0und_m3 가 수상해보입니다. 1 union select 1, 2, group_concat(table_name), 4 from information_schema.t.. 2023. 4. 29.
[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.