๐ก๏ธCTF
Curlove
Curlove
2025.03.23Descriptioncurl ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ ์์คํ
์
๋๋ค./flag ์๋ํฌ์ธํธ๋ก ์์ฒญํ์ฌ ํ๋๊ทธ๋ฅผ ์ป์ด์ฃผ์ธ์.Attackadmin์ผ๋ก ๋ก๊ทธ์ธํ์ฌ /flag๋ก ์์ฒญํ์ฌ FLAG๋ฅผ ํ๋ํด์ผํ๋ค./flag ํ์ด์ง๋ localhost์์ ํธ์ถ์์๋ง FLAG๋ฅผ ๋ฐํํ๋ค.@app.route("/flag", methods=["GET"])def flag(): ip_address = request.remote_addr if ip_address == "127.0.0.1": return FLAG else: return "Only local access allowed", 403@app.route("/signup", methods=["GET", "POST"])def signup(..
Switching Commnad
Switching Commnad
2024.01.070. Description Not Friendly serviceโฆ Can you switching the command? 1. Analysis ํ์ด์ง์ ์ ์ํ๋ฉด Username์ ์
๋ ฅํ ์ ์๋ ํ๋ฉด์ด ๋ณด์ธ๋ค. ๋ค์ด๋ก๋ ๋ฐ์ ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด ์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ ๋ํด json_decode()๋ฅผ ํตํด json ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๋ค. Username์ด admin์ผ ๊ฒฝ์ฐ Admin Session์ ๊ฐ์ง๊ณ test.php๋ก ์ด๋ํ๋ค. #index.php if ($_SERVER["REQUEST_METHOD"]=="POST"){ $data = json_decode($_POST["username"]); if ($data === null) { exit("Failed to parse JSON data"); } $username..
Secure Mail
Secure Mail
2024.01.031. Description ์ค์ํ ์ ๋ณด๊ฐ ์ ํ์๋ ๋ณด์ ๋ฉ์ผ์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ๋ณด์ ๋ฉ์ผ์ ๋น๋ฐ๋ฒํธ๋ ์๋
์์ผ 6์๋ฆฌ์ธ ๊ฒ์ผ๋ก ํ์
๋๋, ์ ํฌ๋ ๋น๋ฐ๋ฒํธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ฅผ ์์๋ด๊ณ ๋ณด์ ๋ฉ์ผ์ ์ฝ์ด ์ค์ํ ์ ๋ณด๋ฅผ ์์๋ด์ฃผ์ธ์! 2. Analysis & Attack ์ ๋ต์ด ์๋
์์ผ ๋ฒ์๋ก ํ์ ๋์ด Bruteforce ์งํํ๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ์์ ์คํํ๋ฉด data:image/png;base64 ๋ก ์์ํ๋ ๋ฌธ์์ด์ด ๋์ค๋๋ฐ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ ์
๋ ฅํ๋ฉด ํ๋๊ทธ์ ์ฌ์ง์ด ๋์จ๋ค. #!ex.js var yy = "90"; var mm = "01"; var dd = "01"; while(true){ dd = String(Number(dd) + 1); if(dd=="32"){ dd="01"; mm..
Shell_Basic
Shell_Basic
2023.10.08์
๋ ฅํ ์
ธ์ฝ๋๋ฅผ ์คํํ๋ ํ๋ก๊ทธ๋จ์ด ์๋น์ค๋ก ๋ฑ๋ก๋์ด ์๋ํ๊ณ ์์ต๋๋ค. main ํจ์๊ฐ ์๋ ๋ค๋ฅธ ํจ์๋ค์ execve, execveat ์์คํ
์ฝ์ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ํ๋ฉฐ, ํ์ด์ ๊ด๋ จ์ด ์๋ ํจ์์
๋๋ค. flag ํ์ผ์ ์์น์ ์ด๋ฆ์ /home/shell_basic/flag_name_is_loooooong์
๋๋ค. ๊ฐ ์ก๊ธฐ ์ด๋ ค์ฐ์ ๋ถ๋ค์ ์๋ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ๋จผ์ ์ฐ์ตํด๋ณด์ธ์! ํ๋๊ทธ ํ์์ DH{...} ์
๋๋ค. DH{ ์ }๋ ๋ชจ๋ ํฌํจํ์ฌ ์ธ์ฆํด์ผ ํฉ๋๋ค. ํ๋ก๊ทธ๋จ ๋ถ์ ๋ฌธ์ ์์ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด Shellcode๋ฅผ ์
๋ ฅ๋ฐ๋๋ค. ํฌํจ๋์ด์๋ ์์ค๋ฅผ ๋ณด๋ฉด ์์ฝ๋๋ฅผ ๋ฐ์์ ์คํ์ ํด์ค๋ค. // Compile: gcc -o shell_basic shell_basic.c -lseccomp //..
[Google CTF 2019] bnv
[Google CTF 2019] bnv
2023.09.29์ ํํ City๋ฅผ ํน์ ํ ๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉํ์ฌ JSON์ผ๋ก ์ ์กํ๋ค. function AjaxFormPost() { var datasend; var message = document.getElementById('message').value; message = message.toLowerCase(); var blindvalues = [ '10', '120', '140', '1450', '150', '1240', '12450', '1250', '240', '2450', '130', '1230', '1340', '13450', '1350', '12340', '123450', '12350', '2340', '23450', '1360', '12360', '24560', '13460', '134560', '13560..
rev-basic-4
rev-basic-4
2023.09.28์ด ๋ฌธ์ ๋ ์ฌ์ฉ์์๊ฒ ๋ฌธ์์ด ์
๋ ฅ์ ๋ฐ์ ์ ํด์ง ๋ฐฉ๋ฒ์ผ๋ก ์
๋ ฅ๊ฐ์ ๊ฒ์ฆํ์ฌ correct ๋๋ wrong์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ด ์ฃผ์ด์ง๋๋ค. ํด๋น ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถ์ํ์ฌ correct๋ฅผ ์ถ๋ ฅํ๋ ์
๋ ฅ๊ฐ์ ์์๋ด์ธ์. 1. ํ๋ก๊ทธ๋จ ๋ถ์ ์ฃผ์ด์ง ํ๋ก๊ทธ๋จ์ IDA๋ฅผ ํตํด ๋ถ์์ ์งํํด๋ณด๋ฉด ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ํ์ธํ ์ ์๋ค. int __fastcall main(int argc, const char **argv, const char **envp) { char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011C0("Input : ", argv, envp); sub_140001220("%256s", v4); if ( (unsign..
rev-basic-3
rev-basic-3
2023.09.19์ด ๋ฌธ์ ๋ ์ฌ์ฉ์์๊ฒ ๋ฌธ์์ด ์
๋ ฅ์ ๋ฐ์ ์ ํด์ง ๋ฐฉ๋ฒ์ผ๋ก ์
๋ ฅ๊ฐ์ ๊ฒ์ฆํ์ฌ correct ๋๋ wrong์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ด ์ฃผ์ด์ง๋๋ค. ํด๋น ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถ์ํ์ฌ correct๋ฅผ ์ถ๋ ฅํ๋ ์
๋ ฅ๊ฐ์ ์ฐพ์ผ์ธ์! 1. ํ๋ก๊ทธ๋จ ๋ถ์ ํ๋ก๊ทธ๋จ์ IDA ํตํด ๋ถ์์ ์งํํด๋ณด๋ฉด ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ํ์ธํ ์ ์๋ค. int __fastcall main(int argc, const char **argv, const char **envp) { char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011B0("Input : ", argv, envp); sub_140001210("%256s", v4); if ( (unsigned int..
LineCTF(2023) - Adult Simple GoCurl
LineCTF(2023) - Adult Simple GoCurl
2023.08.13# Adult Simple GoCurl ์ด์ ๋ฌธ์ ์ธ Baby Simple GoCurl์์ ์
๊ทธ๋ ์ด๋๋ ๋ฌธ์ ์ด๋ค. ์์ค์ฝ๋์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ดํด๋ณด๋ฉด flag ๋ฌธ์์ด์ ๊ฒ์ฌํ๋ ๋ก์ง์ด || ์ผ๋ก ๋ฐ๋์๊ณ , ClientIP() ํจ์๋ฅผ ์ฒดํฌํ๋ ๋ก์ง์ด ์์ด์ก๋ค. reqUrl := strings.ToLower(c.Query("url")) reqHeaderKey := c.Query("header_key") reqHeaderValue := c.Query("header_value") reqIP := strings.Split(c.Request.RemoteAddr, ":")[0] fmt.Println("[+] " + reqUrl + ", " + reqIP + ", " + reqHeaderKey + ", " + reqHea..
LineCTF(2023) - Baby Simple GoCurl
LineCTF(2023) - Baby Simple GoCurl
2023.08.13# Baby Simple GoCurl ๋ฌธ์ ํ์ด์ง์ ์ ์ํ๋ฉด URL, Header Key, Header Value๋ฅผ ์ค์ ํ์ฌ Curl ์์ฒญ์ ๋ณด๋ผ ์ ์๋ ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค. ์๋จ์๋ ํ์ฌ ๋ด๊ฐ ํ ๋น๋ฐ์ IP์ฃผ์๊ฐ ํ๊ธฐ๋๊ฒ ๋์ด์๋ค. https://www.naver.com , test, test๋ก ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ ์ฒ๋ผ Response๊ฐ ๋ํ๋๋ค. GET /flag/ r.GET("/flag/", func(c *gin.Context) { reqIP := strings.Split(c.Request.RemoteAddr, ":")[0] log.Println("[+] IP : " + reqIP) if reqIP == "127.0.0.1" { c.JSON(http.StatusOK, gin.H{ "message": ..
Network Analysis - Web Shell
Network Analysis - Web Shell
2023.08.10[Blue Team Labs] Network Analysis - Web Shell # ์๋๋ฆฌ์ค The SOC received an alert in their SIEM for โLocal to Local Port Scanningโ where an internal private IP began scanning another internal system. Can you investigate and determine if this activity is malicious or not? You have been provided a PCAP, investigate using any tools you wish. 1. What is the IP responsible for conducting the port scan a..
THM - Root me
THM - Root me
2022.12.11Root ME Task 1 - Reconnaissance ๋จผ์ ์ ๋ณด ์์ง์ ์งํํ๋ค. nmap์ ํตํด open๋ Port ์ ๋ณด๋ฅผ ์์งํ๋ค. nmap -sV -T4 -F --version-light targetIP ํด๋น ์ต์
์ ์ด์ฉํ๋ฉด ์๋น์ค์ ๋ฒ์ ์ ๋ณด๋ ํ์ธ์ด ๊ฐ๋ฅํ๋ค. http ์๋น์ค๊ฐ ๋์ ์ค์ด๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ ์ํ๋ฉด ์น ํ์ด์ง๊ฐ ๋ํ๋๋ค. ํด๋น ํ์ด์ง์์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํ๊ธฐ์ํด gobuster ํด์ ์ด์ฉํด ๋๋ ํ ๋ฆฌ ์ค์บ๋์ ์งํํ๋ค. gobuster -u targetIP -w common.txt โปwordlist : https://github.com/kkrypt0nn/wordlists /panel, /uploads ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํด๋ณด๋ฉด ํ์ผ์ ์
๋ก๋ํ๊ณ ์
๋ก๋ ๋ด์ญ์ ํ์ธํ ์ ์๋ ํ์ด์ง๊ฐ..
[BOB CTF 8th] - FileStroage
[BOB CTF 8th] - FileStroage
2022.09.130. Description ํ์ผ์ ๊ด๋ฆฌํ ์ ์๋ ๊ตฌํ์ด ๋ ๋ ํํ์ด์ง์
๋๋ค. 1. ํ์ด์ง ๊ตฌ์ฑ 1. GET / read๊ฐ์ฒด์ filename property์ fake๋ผ๋ ์คํธ๋ง์ ๋ฃ๊ณ ๋ฐํ 2. POST /mkfile ํ์ผ ์์ฑ ๊ธฐ๋ฅ, filename๊ณผ content๋ฅผ ์
๋ ฅ๋ฐ์ __dirname/storage/ ๊ฒฝ๋ก์ filename ๊ฐ์ ํด์ฌํ์ฌ ํด์ฌ ์ด๋ฆ์ผ๋ก ํ์ผ์ ์์ฑํ ํ์ผ ์ด๋ฆ์ ๋ฐํํ๋ค. 3. GET /readfile filename ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ __dirname/storage/ ๊ฒฝ๋ก์์ filename ์ด๋ฆ์ ํ์ผ์ ์ฝ๋๋ค. filename ํ๋ผ๋ฏธํฐ๊ฐ ์์ ๊ฒฝ์ฐ read ์ค๋ธ์ ํธ์ filename Property๋ฅผ ๊ฐ์ ธ์จ๋ค. 4. GET /test func, filename, ..