目前在自学flask这块内容
但是没法复现官方文档里的现象。

HTML转义
返回HTML(Fask中的默认响应类型)时,必须对输出中呈现的任何用户提供的值进行转义,以防止注入攻击.使
用稍后介绍的Jinja泸染的HTM模板将自动执行此操作.
escape(),此处显示,可以手动使用.为了简洁起见,大多数示例中都省略了它,但您应该始终了解如何使用不受
信任的数据.
from markupsafe importescape
@app.route("/<name>")
def hello(name)
return fHello,fescape(name)!
如果用户设法提交name<script>alert("bad")</script>,转义会导致其呈现为文本,而不是在用户的浏览器中运
行脚本.
<name>在路由中从URL捕获一个值并将其传递给视图函数.这些变量规则解释如下.
CSDN@dlliang14
url如果带有/skript,直接就会破坏url结构,导致识别不到这个url。
不管我后台有没有加escape进行转义。
我还问过gpt,解决方案有一个利用ajax,写个js脚本。但是在js脚本里encodeURIComponent(/skript)就会直接被解释成脚本结束,导致后面代码就变文本了。
如果改成encodeURIComponent(userInput)用户输入,就会又会出现破坏url结构,导致识别不到这个url的问题。
如何才能复现官方文档里的现象呢?想试试没有用escape才会出现的XSS漏洞攻击。