반응형
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 |