记录一下BUUCTF中两个类似的SSTI注入关卡 [BJDCTF2020]The mystery of ip-1: 1.打开之后显示如下: 2.在hint.php中进行了相关提示,如下: 3.既然获取的是ip地址信息,那我们此时应该想到包信息中与ip地址相关的参数:X-Forwarded-For,进行尝试,结果如下: 4.那就对X-Forwarded-For参数进行修改,尝试sql类注入,失败,那就在尝试下ssti注入,结果成功,如下: [CISCN2019 华东南赛区]Web11 1.打开之后…
BUU-CTF[CISCN2019 华东南赛区]Web11 页面最下端有提示Build with Smarty ! 确定页面使用的是Smarty模板引擎.输入{$smarty.version}就可以看到返回的smarty的版本号,该题目的Smarty版本是3.1. 但Smarty已经废弃{php}标签,强烈建议不要使用.在Smarty 3.1,{php}仅在SmartyBC中可用. 在页面右上角给出了IP,所以可以通过这里进行注入. BurpSuite抓包,添加X-Forwarded-For:…
[CISCN2019 华东南赛区]Web11 写在前面 参考文章:Smarty SSTI 1.{php}{/php} Smarty已经废弃{php}标签,强烈建议不要使用.在Smarty 3.1,{php}仅在SmartyBC中可用. 2.{literal}标签 {literal}可以让一个模板区域的字符原样输出.这经常用于保护页面上的Javascript或css样式表,避免因为Smarty的定界符而错被解析. PHP5中可用 <script language="php">…
ssti服务器模板注入 ssti:利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点.SSTI 攻击可以用来找出 Web 应用程序的内容结构. slot Slot的理解:solt是"占坑",在组件模板中占好了位置,当使用该组件标签时候,组件标签里面的内容就会自动填坑(替换组件模板中位置),当插槽也就是坑有命名时,组件标签中使用属性slot="mySlot"的元素就会替换该对应位置内容,可以实现父组件对子组件的传参,要…
[BJDCTF2020]Mark loves cat 源码泄露 使用GitHack.py下载源码 下载之后对源代码进行审计 flag.php代码为: <?php $flag = file_get_contents('/flag'); iindex.py里的关键代码为: <?php include 'flag.php'; $yds = "dog"; $is = "cat"; $handsome = 'yds'; foreach($_POST as $x =…
0x00 知识点 SSTI模板注入: 之前也写过: https://www.cnblogs.com/wangtanzhi/p/12238779.html SSTI模板注入: 模板注入涉及的是服务端Web应用使用模板引擎渲染用户请求的过程 服务端把用户输入的内容渲染成模板就可能造成SSTI(Server-Side Template Injection) 模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎…
本题考察XFF头的ssti模板注入,没有过滤,算是入门题 进入题目hint.php的源码中可以看到一个hint 猜测是通过XFF头来获取信息的,发个HTTP请求添加一个XFF头测试一下: GET /flag.php HTTP/1.1 Host: node3.buuoj.cn: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/ Firefox/74.0 Accept: text/html,applicatio…
转自https://www.cnblogs.com/wangtanzhi/p/12328083.html SSTI模板注入:之前也写过:https://www.cnblogs.com/wangtanzhi/p/12238779.html SSTI模板注入: 模板注入涉及的是服务端Web应用使用模板引擎渲染用户请求的过程服务端把用户输入的内容渲染成模板就可能造成SSTI(Server-Side Template Injection) 模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用…
0x01 进入页面如下 提示我们寻找secret,再加上题目的提示,猜测这里有secret页面,我们尝试访问,结果如下 根据它这个话的意思,是让我们传参,然后它会给你加密,我们试一下 发现输入的1变成了d,我们尝试增加输入参数的长度,然后就出现了下图的结果 报错了,直接源码泄露,然后我们看一下标记处 0x02 代码如下: File "/app/app.py", line 35, in secret if(secret==None): return 'Tell me your secre…
解题思路 打开有一个链接,那先点击一下 发现url处,很像命令执行,试一试.发现无论是什么都是no response,又是各种尝试 发现直接传?url=/etc/passwwd可以爆出回显,难道不是命令执行,是代码执行 先尝试一下目录穿越,发现flag被禁了 又是一波各种尝试,最后发现app/appp.py处可以获得源码. 这里记一点:url/read?id=xxxx这种在url和参数中间又会有一段字符串的,可以考虑是写了路由,不是php后端,可能是python后端 这点非常重要,帮助我们判断后…