🚩 CTF Writeup
[rev] Binary Conspicuous Digits
[rev] Binary Conspicuous Digits
2024.03.12📌 Intro This program outputs some conspicuous binary digits. See if you can find out what they mean... 🔬 Analysis # encrypt.py #!/usr/bin/env python3 flag = 'wxmctf{REDACTED}' encoded = '' for c in flag: encoded += ''.join(map( lambda x: format(int(x), 'b').zfill(4), str(ord(c)).zfill(3) )) with open('output.txt', 'w') as output: output.write(encoded) 위 코드를 보면 flag 문자에 대해 다음과 같은 작업을 수행한다. 1. str..
[web] Nuclear Launch Codes
[web] Nuclear Launch Codes
2024.03.11📌 Intro Blind SQL Injection MGCI's cybersecurity club has hired you to test their site security for nuclear launch codes. Unfortunately, they forgot to give you any log-in credentials, and they haven't implemented registration features yet! Can you find the nuclear launch codes? 🔬 Analysis # app.py @app.route('/login_username', methods=['POST']) def login(): username = request.form['username'] c..
[web] Walmart!
[web] Walmart!
2024.03.11이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[Web] Brawl: The Heist
[Web] Brawl: The Heist
2024.03.11📌 Intro parameter pollution 과 관련된 문제 After getting all of his brawlers to 500 trophies, Eatingfood has found himself in a pickle - there is a Fang on the opposing team every other match and he can no longer play the game! Luckily, he has a plan - to get enough gems to buy every brawler and hypercharge so he can get back to mindlessly mashing buttons and winning. Not wanting to wait and earn gems..
[web] stream-vs
[web] stream-vs
2024.03.08📌 Intro cookiezi와 대결을 해서 이겨야 플래그를 휙득할 수 있다. 게임 방식은 아래 사이트와 유사하다. https://ckrisirkc.github.io/osuStreamSpeed.js 🔬 Analysis calculate() 함수는 bpm과 ur을 계산하는 코드이다. 점수 알고리즘을 보면, BPM으로 먼저 판단하고, 동일하면 더 적은 UR을 가진 참가자가 우승한다. 봇은 BPM이 항상 목표 BPM과 일치하고, UR은 20.00이 나온다. 결국 BPM을 session.songs[session.round].bpm과 정확하게 일치시키고 UR값을 20 미만으로 만들어야한다. 🎉 Exploit 아래와 같이 코드를 작성하여 run() 함수내에 작성하면 목표로하는 BPM에 맞게 clicks.add() ..
[web] mikufanpage
[web] mikufanpage
2024.03.04📌 Intro 처음 웹 사이트에 접속하면 위와 같은 이미지가 보인다. 🔬 Analysis 문제 파일은 위와 같은 디렉토리 구조를 가지고 있으며, 여러개의 miku1.jpg 이미지와 함께 flag.txt가 존재한다. /image?path=miku1.jpg 로 접속하면 img 하위에 있는 이미지를 조회할 수 있다. index.html 페이지가 로드될 때 아래와 같이 7개의 이미지를 요청한다. // app.js const express = require('express'); const path = require('path'); const app = express(); const PORT = process.env.PORT ?? 3000; app.use(express.static(path.join(__dirnam..
[pwn] Tutorial - BOF104
[pwn] Tutorial - BOF104
2024.01.10이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[pwn] Tutorial - BOF103
[pwn] Tutorial - BOF103
2024.01.101. 문제 설명 ROP is an attack technique which makes BOF vulnerabilities so critical. Find the binary running at: nc bof103.sstf.site 1337. 2. Writeup 바이너리와 코드가 제공되는 튜토리얼 문제이다. #include #include unsigned long long key; void useme(unsigned long long a, unsigned long long b) { key = a * b; } void bofme() { char name[16]; puts("What's your name?"); printf("Name > "); scanf("%s", name); printf("Bye, %s.\..
[pwn] Tutorial - BOF102
[pwn] Tutorial - BOF102
2024.01.101. 문제 설명 This is an advanced course in Buffer Overflow. The binary is running at: nc bof102.sstf.site 1337. Get the shell of the server! 2. Writeup 바이너리와 코드가 제공되는 튜토리얼 문제이다. #include #include char name[16]; void bofme() { char payload[16]; puts("What's your name?"); printf("Name > "); scanf("%16s", name); printf("Hello, %s.\n", name); puts("Do you wanna build a snowman?"); printf(" > "); scanf("..
[pwn] Tutorial - BOF101
[pwn] Tutorial - BOF101
2024.01.101. 문제 설명 You might have heard about BOF. It's the most common vulnerability in executable binaries. Here is a vulnerable binary(Download). The binary is running at: nc bof101.sstf.site 1337. Can you smash it? Just execute printflag() function and get the flag! 2. Writeup 바이너리와 코드가 제공되는 튜토리얼 문제이다. #include #include #include #include void printflag(){ char buf[32]; int fd = open("/flag", O_RDONLY)..
[web] Tutorial - SQLi 103
[web] Tutorial - SQLi 103
2024.01.101. 문제 설명 Okay, you're getting familiar with web and sql! Here's another lesson for you. :) Find the password of the administrator. http://sqli103.sstf.site/survey.php. http://sqli103.sstf.site/check_id.php. Keep in mind: - There's pw column in the database. - The password meets '\d{6,10}'. - The flag will be SCTF{password of administrator}. 2. Writeup 이 문제는 게싱이 좀 심한 문제라서 적당히 풀이를 참고하며 풀었고, 다음과 같이..
[web] Tutorial - SQLi 102
[web] Tutorial - SQLi 102
2024.01.101. 문제 설명 This is the next lesson of SQLi 101. 2. Writeup Hint를 통해 페이지 내 소스코드를 제시해주고 있다. 사용자가 Enter Keyword here에 입력한 값이 searchkey 파라미터를 통해 쿼리문으로 들어가게 된다. 1을 keyword로 넣고 검색했더니 다음과 같은 검색 결과가 출력된다. SQL Injection이 발생하는지 알아보기 위해 1' or 1=1# 을 검색해보았다. 사용자가 입력한 값과 상관없이 모든 데이터가 출력되는것으로 보아 SQL Injection이 가능하다는 사실을 알아낼 수 있었다. SQL 구문 오류 메시지가 출력되지 않기 때문에 Blind SQL Injection을 수행하였다. Blind SQL Injeciton 절차 ① 컬..