当前位置: 首页 > ai >正文

SSTI 小结

SSTI 小结

  • flask
  • jinja2
  • 另外两个内置函数和正常逃逸一个思路

查找子类:
‘’. class. bases[0]. subclasses()
[]. class. bases[0]. subclasses()
[]. class. mro[-1]. subclasses()
实际的索引可能不同,需要动态识别

str(字符串)、dict(字典)、tuple(元组)、list(列表) 的基类都是object
class:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。
bases:用来查看类的基类,也可以使用数组索引来查看特定位置的值。
subclasses():查看当前类的子类组成的列表,即返回基类object的子类。查看子类列表:
for i in enumerate(‘’.class.mro[-1].subclasses()): print(i)

for i in enumerate(object.subclasses()): print(i)
SSTI 的主要目的就是从这么多的子类中找出可以利用的类(一般是指读写文件或执行命令的类)加以利用。
找到父类<type ‘object’> —> 寻找子类 —> 找关于命令执行或者文件操作的模块。
获取基类方法: mro base

builtins 方法是做为默认初始模块出现的,可用于查看当前所有导入的内建函数。
globals:该方法会以字典的形式返回当前位置的所有全局变量。
import():该方法用于动态加载类和函数 。

Python3:
使用file类读取文件的方法: <class ‘_frozen_importlib_external.FileLoader’>这个类索引号;
利用os._warp_close类的 popen函数执行命令:

[].class.mro[-1].subclasses()[128].init.globals’popen’.read()
().class.bases[

http://www.xdnf.cn/news/11326.html

相关文章:

  • C# 多线程
  • 分享116个PHP源码PHP源码,总有一款适合你
  • 20种常用的软件测试方法,建议先收藏再观看
  • 如何在 FoxyProxy 中设置 YiLu Proxy
  • VMware虚拟机安装教程(超详细)
  • 第五章:即速应用
  • navigator.userAgent浏览器检测(前端基础系列)
  • 浅谈Qt的编译方式:qmake/cmake/qbs及qbs被弃用的原因
  • Rails配置(一)——安装rails
  • 解决因缺少COMDLG32.OCX无法启动应用程序问题
  • K210芯片介绍
  • Java中Arrays.sort()一维数组的升序、降序、区间排序
  • 1寸2寸3寸5寸6寸8寸10寸照片的具体尺寸(附常用照片尺寸对照表)
  • c语言中tm与time_t两种时间格式的转换
  • 双系统Ubuntu 从下载镜像到安装
  • dom(getElementsByName()\getElementsByName()\getAttribute()\setAttribute()\节点属性)
  • 小区门户网站之后台管理
  • stringstream用法总结
  • 深度解读汽车域控制器
  • 这5款免费的 FTP 客户端,你用过几个?Windows、Mac 和 Linux都适用!
  • 在oracle中的scn技术
  • 关于环网
  • 【安卓Android】VibratorService分析
  • LUN详解
  • 深入浅出了解撞库攻击!
  • 菜鸟也学Ogre-一步步搭建Ogre
  • mysql触发器
  • 三基色、对比色、互补色之间的关系,图片调色基础
  • 推荐10个爬虫工程师必备的工具,让你想爬就爬_爬虫工具
  • 汇编指令lea