전체 글(137)
-
[CTF] LOGCON - warmup
대회중에 해결하지 못한 리버싱 문제다. 문제는 그냥 warmup이라는 이름의 elf파일이 제공된다. f5눌러서 보니 c언어로 단순하게 encoded된 배열의 값을 scanf로 입력받은 값과 xor연산후 비교하는 코드로 보이는데 ida를 이용하는게 아직 미숙하다 보니 encoded[n] 저렇게 배열형식으로 안바꿔준채 디컴파일 해버려서 저 배열의 인덱스를 알지 못해 끝내 해결하지 못했다. 위 사진은 대회가 끝난 후에 변경하는 방법을 알게 되어서 저거 보고 익스코드 짜서 해결했다. encoded = [0] * 27 encoded[6] = 125 encoded[22] = 101 encoded[2] = 69 encoded[15] = 121 encoded[17] = 82 encoded[13] = 97 encoded..
2023.01.17 -
스택프레임 시각화 - ( StackFrame visualization) (2)
최근에 포너블 공부를 하면서 시간이 생기면 만들고 싶었던게 있었다. c언어로 된 소스가 있으면 그 코드의 스택 프레임을 시각화해서 출력해주는 프로그램을 만들면 포너블을 처음 시작한 사람들이 보고 스택에 대한 이해를 더 쉽게 할수 있을것같아서 기획을 쭉 해왔었다. 이런식으로 높은 주소 -> 낮은 주소로 표현할것이고 main함수와 그 함수가 호출하는 부분의 스택만 저런식으로 시각화 해서 띄워줄 예정. ----------------------- from pwn import * import subprocess import sys import time import re def disas(a): context.terminal = ['gnome-terminal', '-x', 'sh', '-c'] command = '..
2023.01.17 -
스택프레임 시각화 - ( StackFrame visualization)
최근에 포너블 공부를 하면서 시간이 생기면 만들고 싶었던게 있었다. c언어로 된 소스가 있으면 그 코드의 스택 프레임을 시각화해서 출력해주는 프로그램을 만들면 포너블을 처음 시작한 사람들이 보고 스택에 대한 이해를 더 쉽게 할수 있을것같아서 기획을 쭉 해왔었다. 이런식으로 높은 주소 -> 낮은 주소로 표현할것이고 main함수와 그 함수가 호출하는 부분의 스택만 저런식으로 시각화 해서 띄워줄 예정.
2023.01.15 -
2022년 회고록 / 2023년 목표설정
2022년, 시간은 흘러 어느덧 2023년을 앞둔 시점이다. 18살이 되는 22년 1월 1일 나 자신에게 다짐했던 목표들을 잘 이뤄냈는지, 또 부족한 부분이 있다면 19살이 되는 2023년에는 어떻게 보완해 나갈 것인지 생각을 정리하고자 회고록을 작성하며 올해를 마무리하려 한다. 2022년을 맞이 했을 때의 나 22년 1월 고등학교 2학년 진학을 앞두고 있었던 나는, 싱숭생숭한 마음이 앞섰다. 새해, 새로운 시작을 목전에 둔 사람은 누군들 설레는 마음을 가지지 않을까. 나 또한 그리하였고, 부족했던 지금까지의 나를 변화시켜보고자 올 한해의 목표를 나 자신과 다짐하였다. ● 대회 입상하기 ● 최대한 많은 경험 하기 ● bob 들어가기 ● 나중에 22년을 되돌아 보았을때, 미련 없이 정말 열심히 했었다! 라..
2022.12.27 -
file in file
signatures = [ "ff d8 ff e0", "ff d8 ff e8", "47 49 46 38 37 61", "47 49 46 38 39 61", "89 50 4e 47 0d 0a 1a 0a", "25 50 44 46 2d 31 2e", "50 4b 03 04", "41 4c 5a 01", "52 61 72 21 1a 07", "50 4b 03 04 14 00 06 00", "49 44 33" ] signatures = list(map(bytes.fromhex, signatures)) def searchFileInFile(filename): with open(filename, "rb") as file: data = file.read() for signature in signatures: if s..
2022.11.26 -
[CTF] SECCON CTF 2022 - skipinx
server { listen 8080 default_server; server_name nginx; location / { set $args "${args}&proxy=nginx"; proxy_pass http://web:3000; } }#default.conf const app = require("express")(); const FLAG = process.env.FLAG ?? "SECCON{dummy}"; const PORT = 3000; app.get("/", (req, res) => { req.query.proxy.includes("nginx") ? res.status(400).send("Access here directly, not via nginx :(") : res.send(`Congratz..
2022.11.13