전체 글 80

level 1 XSS Filtering Bypass

저번 강의에서 풀었던 xss-1 문제와 거의 유사하지만 새로운 xss 필터링 기법이 적용되어 있다. xss_filter 함수 분석def xss_filter(text): _filter = ["script", "on", "javascript:"] for f in _filter: if f in text.lower(): text = text.replace(f, "") return textscript, on, javascript: 이 세개의 코드들을 하나씩 필터링하고 있는 것을 확인할 수 있다. 따라서 해당 키워드들을 우회해주면 쉽게 flag를 획득할 수 있을 것이다. 익스플로잇xss_filter 함수를 확인해보면 script, on ,javascript: 이 세가..

CTF & Wargame(WEB) 2025.04.17

Command Injection Advanced level 1

cache file: {$cache_file}"; echo ''. htmlentities($result) .''; return; } }else{ ?>사용자가 입력한 url에 http라는 문자가 없다면 http only있다면 result = curl [사용자 입력값] 사용자가 입력한 값을 md5로 인코딩하고 ./cache/ 경로에 저장그리고 curl [사용자 입력값]의 결과를 ./cache/md5(url)에 저장 취약점 분석url로 사용자 입력을 받을 때 입력을 검증하지 않음. --> curl로 웹셸 업로드 가능 익스플로잇https://github.com/WhiteWinterWolf/wwwolf-php-web..

CTF & Wargame(WEB) 2025.04.16

My Best Friend level 1

웹 서비스 분석문제에서 제공하는 url에 접속하게 되면 위와 같은 화면을 볼 수 있다. 사용자가 인삿말을 작성하면 그에 대한 응답을 출력해준다.예를 들어서 사용자가 hello라는 요청을 보내면 응답: hello ❤️ 라고 해당 페이지에 출력되는 것을 확인할 수 있다. 엔드포인트 분석/apiapp.get('/api', (req, res) => { if (req.ip !== '::1') return res.send('No'); const isAdmin = Number(req.query.admin); console.log('isAdmin', isAdmin); if (isAdmin !== 0) { // admin이면 flag 출력 return res.send(FLAG); } return res...

CTF & Wargame(WEB) 2025.04.16