전체 글 82

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

session beginner

웹 서비스 분석문제를 열업면 위와 같은 로그인 페이지가 뜬다. 그래서 만약 id : guest, pw : guest로 로그인 해보면Hello guest, you are not adminindex page에 위와 같은 문구를 띄워준다. 따라서 admin 계정으로 로그인하여 flag를 찾는 문제인 것 같다. 엔드포인트 분석/login@app.route('/login', methods=['GET', 'POST'])def login(): if request.method == 'GET': return render_template('login.html') elif request.method == 'POST': username = request.form.get('username')..

CTF & Wargame(WEB) 2025.04.14