Web Hacking Advanced

Web Hacking Advanced

[dreamhack] Command Injection Advanced

문제분석 & 풀이url을 입력하고 curl 요청하는 페이지다. 코드를 확인해보자. cache file: {$cache_file}"; echo ''. htmlentities($result) .''; return; }}else{?>코드 분석url은 http로 시작해야한다.curl $url 로 curl 명령을 실행한다.캐시 파일을 /cache 경로에 저장한다.실행 결과를 화면에 출력한다. url을 이용해서 curl 명령을 실행한다. 따라서 ;와 같은 문자를 추가하면 curl 명령 외에도 임의의 명령을 실행시켜서 command injection을 수행하는 방식을 생각했다. 하지만 escapeshellcmd($_GET['url'])로 ;, | 등의 문자열을 사용해도 이스케이프 처리되..

Web Hacking Advanced

[dreamhack] Mango

문제분석 & 풀이uid와 upw를 전송해서 로그인하는 방식이다. 그대로 요청해보면 guest로 로그인된 것을 확인할 수 있다. 로그인이 성공하면 uid가 출력된다. 목적은 upw를 구해야하므로 blind nosql injection을 수행해야한다고 짐작할 수 있다. const db = mongoose.connection;...app.get('/login', function(req, res) { if(filter(req.query)){ res.send('filter'); return; } const {uid, upw} = req.query; db.collection('user').findOne({ 'uid': uid, 'upw': up..

Web Hacking Advanced

[dreamhack] blind-command

문제분석 & 풀이@app.route('/' , methods=['GET'])def index(): cmd = request.args.get('cmd', '') if not cmd: return "?cmd=[cmd]" if request.method == 'GET': '' else: os.system(cmd) return cmdcmd 파라미터로 전송하면 os.system(cmd)가 실행되면서 시스템 명령이 실행되는 루틴이다. cmd 파라미터에 대한 검증이 없어서 command injection을 수행할 수 있는 환경이다. 다만, os.system(cmd) 를 실행한 결과를 응답하지 않는다. 따라서 blind command injection을 ..

Web Hacking Advanced

[dreamhack] blind sql injection advanced

문제분석 & 풀이@app.route('/', methods=['GET'])def index(): uid = request.args.get('uid', '') nrows = 0 if uid: cur = mysql.connection.cursor() nrows = cur.execute(f"SELECT * FROM users WHERE uid='{uid}';") return render_template_string(template, uid=uid, nrows=nrows)uid를 이용해서 select 쿼리를 실행하는 구성이다. uid 파라미터에 대한 검증과 prepare statement와 같은 시큐어 함수가 적용되지않았다. 따라서 uid를 이용해 SQL injec..

Web Hacking Advanced

[dreamhack] web-ssrf

개념정리○ SSRF공격자가 서버 측에서 원격 서비스 또는 리소스에 HTTP 요청을 보내도록 서버를 속이는 공격공격자는 서버에서 외부 리소스에 대한 HTTP 요청을 보낼 수 있으며, 이를 통해 내부 네트워크나 인트라넷에 접근할 수 있음APT 공격자들은 SSRF를 통해 내부 네트워크의 서비스 및 리소스에 접근하여 기밀 정보를 획득하거나 공격의 다른 단계를 위한 기반을 마련SSRF 공격을 통해 공격자는 서버의 중요 정보나 데이터를 노출시키거나, 다른 시스템에 대한 스캔 및 공격을 수행할 수 있음 서버나 개발자가 의도하지 않은 요청과 동작을 수행하는 공격이므로 파급력이 큰 공격이다. SSRF는 내부 네트워크 서비스에 침입할 수 있는 공격으로 자주 언급된다. 실습 문제를 풀어보면서 알아보자. 문제풀이Image V..

Web Hacking Advanced

[dreamhack] php-1

개념정리PHP Wrapper를 이용한 LFI 취약점을 실습하는 문제다. ○ LFILFI(Local File Inclusion) 취약점은 웹 애플리케이션에서 발생할 수 있으며, 공격자가 악의적인 목적으로 웹 서버의 파일 시스템에 접근하여 중요한 파일을 읽거나 실행할 수 있는 취약점이다. LFI는 주로 웹 애플리케이션에서 파일을 동적으로 로드할 때 발생한다. 이때, 애플리케이션은 파일 이름을 사용자 입력값으로 받아들이는데, 이 입력값에 대한 검증이 제대로 이루어지지 않으면 공격자가 파일 시스템의 다른 파일에 접근할 수 있다. 공격자는 LFI 취약점을 이용하여 애플리케이션의 설정 파일, 암호화된 비밀번호, 데이터베이스 정보 등 중요한 정보를 탈취할 수 있다. 또한 공격자는 원격 코드 실행(RCE) 공격을 수행..

keyme
'Web Hacking Advanced' 카테고리의 글 목록 (3 Page)