CISCN-2019 Web11
2024年4月26日...大约 2 分钟
题目来源:CISCN-2019 华东南-Web11
WriteUp
观察首页,在 footer 发现到是 PHP 的 smarty 模板引擎
随手在 X-Forwarded-For 写入一个 IP,可以看到 Current IP 显示了我们写入的 IP,于是可以判断他是通过 X-Forwarded-For 来获取 IP 的,猜测存在 SSTI 漏洞。
What is X-Forwarded-For?
X-Forwarded-For 是用来识别通过 HTTP 代理或负载均衡方式连接到 Web 服务器的客户端最原始的 IP 地址的 HTTP 头字段。
根据 Smarty 的语法,我们可以通过 {$smarty.version}
来查看当前的 Smarty 版本,发现是 3.1.30
既然在这里发现了 SSTI 漏洞,那么我们就可以通过 SSTI 来执行代码,首先我们需要构造一个 payload 来执行代码,我们可以通过 system
函数来执行代码。
What is SSTI?
SSTI(Server-Side Template Injection)是一种服务器端模板注入漏洞,它出现在使用模板引擎的 Web 应用程序中。模板引擎是一种将动态数据与静态模板结合生成最终输出的工具。然而,如果在构建模板时未正确处理用户输入,就可能导致 SSTI 漏洞的产生。
{system('ls')}
最终 Payload:
{system('cat /flag')}
Flag
NSSCTF{d7487e08-20c4-46d3-bea7-093650c11d27}
Powered by Waline v3.3.1