CTF 8

[2022 Wacon] ppower

#PrototypePollution #node.js #web #ppower 대회때 못푼 문제 복기입니다. 대회 중 제일 못풀어서 아쉬운 문제 문제파일은 아래와 같다. // index.js #!/usr/bin/env node const express = require("express"); const childProcess = require("child_process"); const app = express(); const saved = Object.create(null); const config = {}; const merge = function (t, src) { for (var v of Object.getOwnPropertyNames(src)) { if (typeof src[v] === "object"..

<Wargame & CTF> 2022.06.29

[TamilCTF2021] HeyImAB

HeyImAB #Android #ab file 원본WriteUp - https://github.com/goseungduk/CTF_WriteUp/tree/master/Tamil_2021/rev/HeyImAB 안드로이드 백업파일 문제이다. .ab 파일확장자는 처음 보았는데 안드로이드 백업파일이라고 한다. adbextractor 링크 위의 extractor 를 이용하여 안의 파일을 추출할 수 있다. java -jar abp.jar unpack backup.ab res.tar 해당 명령어로 추출을 하면, tar 파일 하나가 나온다. 그 파일안에 아래와 같은 경로의 파일을 살펴보다 플래그를 발견했다. apps\com.example.devpack\r\app_flutter\flutter_assets\kernel_bl..

<보안 study>/CTFs 2021.10.07

[TamilCTF2021] Guesser

Guesser #reversing #DotNet #IL Spy #z3 원본WriteUp - https://github.com/goseungduk/CTF_WriteUp/tree/master/Tamil_2021/rev/Guesser 처음에 바이너리를 IDA로 열어보니 .Net 바이너리로 인식하길래 바로 IL Spy 툴로 열어보았다. 소스가 매우 정직하게 잘 나오는 것을 확인할 수 있다. Main 함수를 보면 처음에 Login 을 진행하는 것을 알 수 있는데, check 로직은 생각보다 매우 간단하다. 생각보다 어려운 로직이 없어서 실제로 풀때는 눈으로 그냥 보고 풀었지만, 소스 첨부도 해본다. from z3 import * s=Solver() username=[BitVec(&#39;user_%i&#39;%i..

<보안 study>/CTFs 2021.10.07

[TamilCTF2021] digital_play

digital_play #논리회로 #digital 원본WriteUp - https://github.com/goseungduk/CTF_WriteUp/tree/master/Tamil_2021/rev/digital_play misc 에 가까운 문제가 아닐런지...? 어렵지 않아서 장황한 설명은 하지 않는다. 우선 주어진 .dig 파일은 아래의 프로그램에서 열린다. Digital - 논리회로 설계 프로그램 digital.dig 파일을 Digital 프로그램에서 로드하면 위와 같이 나온다. // enc.txt 00110110111111100000011000101 100001000000100000011000010101 001001111110101001110011001011 11111000001010100001101..

<보안 study>/CTFs 2021.10.07

[TamilCTF2021] Fool Me

foolme #z3 #reversing 원본WriteUp - https://github.com/goseungduk/CTF_WriteUp/tree/master/Tamil_2021/rev/foolme 우선 main 함수가 디컴파일 된 모습은 이러한데... sub_5611AE2071A5 함수가 exit(0) 로 통하는 함수이다 보니 분명 다른 로직이 있다고 판단하였고... 어셈블리로 보면, 해당 함수 호출 이후에 추가 로직이 존재했다. 이 부분은 풀면서 적당히 우회 했다. 그리고 이후 로직은 s 변수에 문자열 입력하고, 해당 문자열에 대해서 first, second, final 함수를 통과해야된다. 1. first 함수 first 함수는 처음에 s 값을 받아서 26바이트 문자열을 갖고있는지 확인한다. 그리고 ..

<보안 study>/CTFs 2021.10.07

DreamHack CTF 문제에서 배우는 NOSQL Injection

당직근무 마치고 근무취침 잠깐 취하고 나니까 드림핵 ctf 가 시작되어있었다. 대회가 1시간여밖에 안남아서 부랴부랴 한 문제 풀었는데, 나에겐 조금 낯선 NOSQL 에 대해 공부할 수 있었다. 이번 글은 DreamHack CTF 의 Web 분야문제 중, Mango 문제도 살펴보는 겸 Not Only SQL Injection 에 대해 공부하는 글이다. - NOSQL 이란? Not Only SQL 이란 뜻으로 단순히 mysql,OracleDB 같은 RDBMS 에서의 SQL 뿐만아니라 다른 형태,형식 등으로 데이터를 조직할 수 있는 DB 언어이다. RDBMS 가 주로 XML, 스프레드시트같은 테이블 구조의 정형화 된 데이터를 담는다면, NOSQL 은 바이너리파일(미디어파일, 프로그램 등등)이나 텍스트파일 같은..

<보안 study>/웹 2020.09.30
반응형