实验室:通过用户提供的对象进行信息披露的服务器端模板注入
从业者
这个实验室很容易受到伤害服务器端模板注入由于对象被传递到模板中的方式。可以利用此漏洞来访问敏感数据。
要解决实验室,请窃取并提交框架的秘密密钥。
您可以使用以下凭据登录到自己的帐户:
内容管理器:C0NT3NTM4N4G3R
解决方案
- 登录并编辑产品描述模板之一。
- 将模板表达式之一更改为无效的事物,例如fuzz字符串
$ {{<%[%'“}}%\
,并保存模板。输出中的错误消息暗示正在使用Django框架。
- 研究Django文档并注意内置模板标签
调试
可以打电话给显示调试信息。
在模板中,删除您的无效语法并输入以下语句以调用调试
内置:
{%调试%}
- 保存模板。输出将包含您可以从此模板中访问的对象和属性列表。至关重要的是,请注意您可以访问
设置
目的。
- 研究
设置
Django文档中的对象,并注意它包含一个密钥
财产,如果攻击者知道,它具有危险的安全性。
- 在模板中,删除
{%调试%}
声明并输入表达式{{settings.secret_key}}
- 保存模板以输出框架的秘密键。
- 单击“提交解决方案”按钮,然后提交秘密键以求解实验室。