목록전체 글 (7)
ash3r & dmawhwhd
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..