the*_*ica 1 python xss json flask
我刚开始使用Flask Web框架.我目前正在编写一个端点,它返回可能包含恶意javascript的JSON位.
例如:
@api.route("/tester")
def api_jobs_tester():
return jsonify({
"name": "<script>alert(1)</script>"
})
Run Code Online (Sandbox Code Playgroud)
在此示例中,返回:
{
"name": "<script>alert(1)</script>"
}
Run Code Online (Sandbox Code Playgroud)
但是,理想情况下,我希望返回:
{
"name": "<script>alert(1)</script>"
}
Run Code Online (Sandbox Code Playgroud)
当然,对于每个值,这是直接的,只需:
return jsonify({
"name": escape("<script>alert(1)</script>")
})
Run Code Online (Sandbox Code Playgroud)
但是,我可能需要返回比这更复杂的JSON响应,其中我不一定知道JSON的结构.
我可能可以扮演我自己的遍历JSON树的函数并转义所有字符串,但我更喜欢内置的方法.
使用Flask在JSON响应中转义值的最简单方法是什么?
jsonify函数没有转义选项.但是你可以使用flask.json中的htmlsafe_dumps函数:
from flask import json, jsonify
return jsonify(**json.loads(json.htmlsafe_dumps(obj)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3577 次 |
| 最近记录: |