목록분류 전체보기 (7)
ash3r & dmawhwhd
Web 1. Calc. from flask import Flask, render_template, render_template_string, request import re app = Flask (__name__) @app.route('/') def calc(): expression = request.args.get('expression') filters = ["'","\"","_","[","]",",","`","sys","os","flag","%","class","config","self","\\"] request.args = None try: for filter in filters: if filter in expression: raise Exception("filterd") result = rende..
Misc - query-master #!/usr/bin/python3 import random import string import subprocess def randName(): return ''.join([random.choice(string.hexdigits) for i in range(16)]) dbpath = f'/tmp/{randName()}.db' query = input("Query >> ") ban = ['.', 'lo', ';'] for x in ban: if x in query: print("Filtered..") exit() proc = subprocess.Popen(["sqlite3", dbpath, query], stdout=subprocess.PIPE) (out, err) = ..
Profile 🔎Seungjun Kim (ash3r & dmawhwhd)Nationality : South KoreaBirth : 2004Work 👨💻Enki (2022.12.5 ~ 2023.12.18)Zellic (2024.1.3 ~ now)Affiliation 🎓EducationKaist 한국과학기술원sunrin internet high school 선린인터넷고등학교서울여자대학교 정보보호영재교육원CTF TeamSuper GuesserAwards 🏆2022 1st, 사이버 가디언즈 경진대회2022 1st, Whitehat Contest2022 1st, The Hacking Championship Junior2022 1st, JBU CTF2022 3rd, codegate 20222022 3rd..
Wacon 예선에서는 풀지 못 했지만 문제 퀄리티가 모두 좋아서 못 푼 것이 아쉬워 풀어봤습니다. 분석했을 때 attack gadget을 찾지 못해서 풀지 못 했는데 끝나고 여쭤봤고 그 방법으로 공부하여 풀어보았습니다. #!/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]) =..
";if (Check($_POST["url"])) { $url = escapeshellarg($_POST["url"]); $cmd = "/usr/bin/curl ${url} --output - -m 3 --connect-timeout 3"; echo "your command: " . $cmd . ""; $res = shell_exec($cmd);} else { die("error~");}if (strpos($res, $_SESSION["uuid"]) !== false) { echo $res;} else { echo "you cannot get the result~";} 서버 코드인데 curl 요청을 보내줍니다. 하지만 libcurl이 아닌 linux curl을 사용합..
매우매우 간단한 error based sql injection 문제입니다. #!/usr/bin/env python3 import sqlite3 import random import string import os def randName(): return ''.join([random.choice(string.hexdigits) for i in range(16)]) dbpath = f'/tmp/{randName()}.db' conn = sqlite3.connect(dbpath) cur = conn.cursor() cur.execute(""" CREATE TABLE flag (flag TEXT) """) cur.execute(f"INSERT INTO flag VALUES ('{os.getenv('FLAG','f..
예선 시간에 문제를 거의 다 풀었는데 아쉬워서 여러 풀이들을 공부하여 write up을 작성해봤습니다..!! 문제에서 제공되는 http://114.203.209.112:8000에 접속한 모습입니다. guest, guest로 로그인 하게 되면 curl을 보낼 수 있는 기능이 있습니다. 하지만 localhost이어야 가능하다고 알려줍니다. http://114.203.209.112:8000/index.phtml?fun_004ded7246=load url이 이렇게 생긴 것을 보아 혹시 include인가 싶어 index를 넣어봤습니다. 무한루프를 도는 것을 보아 include가 맞다고 생각했습니다. index만 넣었을 때 include가 되었기에 .phtml이 뒤에 붙는 것을 예측할 수 있습니다. 그래서 php:..