跳至主要內容

CISCN-2019 Web11

Haynes...大约 2 分钟CTFCISCNWeb

题目来源:CISCN-2019 华东南-Web11open in new window

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}
上次编辑于:
贡献者: HaynesChennn
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3