Flask 重定向问题:若没有对URL进行安全验证
2021-05-13 04:28
标签:问题: 没有 app 获取 地址 some 技术 open direct 一个fooo视图,一个barrr视图。通过点击视图里的链接,进行一些操作之后,返回fooo或barrr路由。 点击 URL:127.0.0.1:5000/fooo中的链接实现重定向,如下: Flask 重定向问题:若没有对URL进行安全验证 标签:问题: 没有 app 获取 地址 some 技术 open direct 原文地址:https://www.cnblogs.com/daemonFlY/p/12003064.html@app.route('/fooo')
def fooo():
return '
Fooo Page
Do somethinggg' % url_for('do_somethinggg', next=request.full_path)
@app.route('/barrr')
def barrr():
return 'Barrr Page
Do somethinggg' % url_for('do_somethinggg', next=request.full_path)
@app.route('/do_somethinggg')
def do_somethinggg():
print('------do somethinggg------')
print(request.referrer)
# 方法一:查询request.referrer获取重定向位置
return redirect(request.referrer or url_for('hello'))
# 方法二:查询参数获取重定向位置
return redirect(request.args.get('next'))
链接的相对URL:/do_somethinggg?next=%2Ffooo%3F
如果我在地址栏中输入:http://127.0.0.1:5000/do_somethinggg?next=/
则会跳转到URL:http://127.0.0.1:5000/
导致开放重定向漏洞(Open Redirect)
上一篇:你真的了解WebSocket吗?
下一篇:JS-观察者模式
文章标题:Flask 重定向问题:若没有对URL进行安全验证
文章链接:http://soscw.com/index.php/essay/84977.html