Profile Name : 오승주 (as3617) Educated : Graduated Korea Digital Media High School Team : Defenit / CodeRed / Super Guesser Awards 2019 2019, Hacking Championship Junior Quals 1st 2019, Cyberoc Quals 4rd 2019, Hacking Championship Junior FInals 4th 2020 2020, m0lecon CTF Quals, 4th 2020, Cyberoc Quals 3rd 2020, Cyberoc Finals 3rd 2020, Hacking Championship Junior 3rd 2020, HackTM Finals 2nd (Team ..
GOTM func root_handler(w http.ResponseWriter, r *http.Request) { token := r.Header.Get("X-Token") if token != "" { id, _ := jwt_decode(token) acc := get_account(id) tpl, err := template.New("").Parse("Logged in as " + acc.id) if err != nil { } tpl.Execute(w, &acc) } else { return } }template injection is possible using id when print a login user func flag_handler(w http.ResponseWriter, r *http.R..
CAFE XSS 문제다. 하지만 bot 코드에 지워지지 않은 admin의 패스워드로 인해 로그인하고 나면 손쉽게 플래그를 획득할 수 있다. 인텐 풀이는 다음과 같다. function filterHtml($content) { $result = ''; $html = new simple_html_dom(); $html->load($content); $allowTag = ['a', 'img', 'p', 'span', 'br', 'hr', 'b', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong', 'em', 'code', 'iframe']; foreach($allowTag as $tag){ foreach($html->find($tag) as $element) { switch ($t..
web 5문제 밖에 못 풀었다. knock-knock const crypto = require('crypto'); class Database { constructor() { this.notes = []; this.secret = `secret-${crypto.randomUUID}`; } createNote({ data }) { const id = this.notes.length; this.notes.push(data); return { id, token: this.generateToken(id), }; } getNote({ id, token }) { if (token !== this.generateToken(id)) return { error: 'invalid token' }; if (id >= this..
대회가 끝나고 나서 바로 놀러가서 이제야 라업을 올린다. Hack into skynet #!/usr/bin/env python3 import flask import psycopg2 import datetime import hashlib from skynet import Skynet app = flask.Flask(__name__, static_url_path='') skynet = Skynet() def skynet_detect(): req = { 'method': flask.request.method, 'path': flask.request.full_path, 'host': flask.request.headers.get('host'), 'content_type': flask.request.headers..
이번 주말동안 log4j2에서 발견된 취약점으로 인해 난리가 났었다. https://github.com/apache/logging-log4j2/commit/c77b3cb39312b83b053d23a2158b99ac7de44dd3#diff-271353c1076e53f6893261e4420de27d34588bfd782806b5c66a3465c43b7f51 패치는 8일 전에 됐는데 아마도 해커들이 이 커밋로그 보고 페이로드 짜서 열심히 쑤시고 다닌 것 같다. 그래서 다들 급하게 버전 업데이트하고 waf룰 설정하는 것 같은데 exploit 특성상 너무 쉽게 우회가 돼서 그냥 버전을 업데이트하는 것이 중요한 것 같다. 패치는 다음과 같이 이루어졌다. 1. log4j2.formatMsgNoLookups의 기본 옵션..
I'm sorry for writing only the exploit and scenario because I don't have enough time. filesharing #scenario 1. upload javascript file 2. share admin 3. xss in /play 4. bypass csp via error page 5 inject script into error pageexploit.js a = window.open('/' + 'x'.repeat(4100)); setTimeout(function() { a.document.body.innerHTML = ``; }, 1000);" payload https://filesharing.m0..