본문 바로가기

Security

[Webhacking] open redirect

반응형

Redirect(리다이렉트)는 사용자의 Location(위치)를 이동시키기 위해 사용하는 기능 중 하나.

 

이동하는 주소가 공격자에 의해 변조될 경우 오픈 리다이렉트 취약점이 발생.

피싱 사이트로 접속을 유도할 수 있음.

 

Mitigation

허용된 주소에 대해서만 이동하게끔 함.

 

from urllib.parse import urlparse
from flask import Flask, request, redirect
app = Flask(__name__)
@app.route('/redirect')
def index():
	userUrl = request.args.get('url')
	parseResult = urlparse(userUrl)
	if parseResult.scheme in ['http', 'https']: # 'https'
		if parseResult.netloc in ['dreamhack.io', 'test.dreamhack.io']: # 'dreamhack.io'
			return redirect(userUrl)
	return "malicious URL"
반응형

'Security' 카테고리의 다른 글

[Webhacking] server-side basic  (0) 2021.09.20
[Webhacking] click jacking  (0) 2021.09.19
[Webhacking] CSRF (cross site request forgery)  (0) 2021.09.19
[Webhacking] XSS (cross site scripting)  (0) 2021.09.19
[Webhacking] client-side basic  (0) 2021.09.17