[ACTF2020 新生赛]Upload – buu刷题笔记

[ACTF2020 新生赛]Upload

  • 考点 前端后缀名绕过的方式 php可执行文件后缀名的种类主界面 有一个灯泡,提示你上传文件,前端有验证,只能上传 jpg|png|gif

图片[1]-[ACTF2020 新生赛]Upload – buu刷题笔记-安全小天地

这个时候我们有两种方式绕过前端验证

直接在源码里把验证函数删掉

图片[2]-[ACTF2020 新生赛]Upload – buu刷题笔记-安全小天地

先把文件改成jpg格式,然后上传,用burp拦截,再改成原来的格式

我们选择第一种方式,试着上传一下php文件,内容可以先用phpinfo() 测试一下能不能成功

图片[3]-[ACTF2020 新生赛]Upload – buu刷题笔记-安全小天地

页面提示nonono bad file!,看来后端也对后缀名进行了检查,那么我们就用phtml试试,常用的php后缀名绕过见[极客大挑战 2019]Upload 成功上传

[极客大挑战 2019]Upload - buu刷题笔记-安全小天地
[极客大挑战 2019]Upload - buu刷题笔记-安全小天地
[极客大挑战 2019]Upload – buu刷题笔记
沐寒的头像-安全小天地大咖2022年4月14日 19:28

012711

在这里插入图片描述

打开后,成功获得执行了phpinfo()

在这里插入图片描述

接下来只要编写简单的php一句话木马就行!后端没有对文件内容进行任何检查。用蚁剑连接后成功在根目录得到flag。

在这里插入图片描述

<FilesMatch \\.phtml$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch \\.phtml$>
  SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch \\.phtml$> SetHandler application/x-httpd-php </FilesMatch>
<?php
error_reporting(0);
//设置上传目录
define(\"UPLOAD_PATH\", \"./uplo4d\");
$msg = \"Upload Success!\";
if (isset($_POST[\'submit\'])) {
$temp_file = $_FILES[\'upload_file\'][\'tmp_name\'];
$file_name = $_FILES[\'upload_file\'][\'name\'];
$ext = pathinfo($file_name,PATHINFO_EXTENSION);
if(in_array($ext, [\'php\', \'php3\', \'php4\', \'php5\'])) {
exit(\'nonono~ Bad file!\');
}
$new_file_name = md5($file_name).\".\".$ext;
$img_path = UPLOAD_PATH . \'/\' . $new_file_name;
if (move_uploaded_file($temp_file, $img_path)){
$is_upload = true;
} else {
$msg = \'Upload Failed!\';
}
echo \'<div style=\"color:#F00\">\'.$msg.\" Look here~ \".$img_path.\"</div>\";
}
?>
<?php
  error_reporting(0);
  //设置上传目录
  define(\"UPLOAD_PATH\", \"./uplo4d\");
  $msg = \"Upload Success!\";
  if (isset($_POST[\'submit\'])) {
        $temp_file = $_FILES[\'upload_file\'][\'tmp_name\'];
        $file_name = $_FILES[\'upload_file\'][\'name\'];
        $ext = pathinfo($file_name,PATHINFO_EXTENSION);
        if(in_array($ext, [\'php\', \'php3\', \'php4\', \'php5\'])) {
          exit(\'nonono~ Bad file!\');
      }
        $new_file_name = md5($file_name).\".\".$ext;
        $img_path = UPLOAD_PATH . \'/\' . $new_file_name;
        if (move_uploaded_file($temp_file, $img_path)){
            $is_upload = true;
        } else {
            $msg = \'Upload Failed!\';
        }
        echo \'<div style=\"color:#F00\">\'.$msg.\" Look here~ \".$img_path.\"</div>\";
    }
?>
<?php error_reporting(0); //设置上传目录 define(\"UPLOAD_PATH\", \"./uplo4d\"); $msg = \"Upload Success!\"; if (isset($_POST[\'submit\'])) { $temp_file = $_FILES[\'upload_file\'][\'tmp_name\']; $file_name = $_FILES[\'upload_file\'][\'name\']; $ext = pathinfo($file_name,PATHINFO_EXTENSION); if(in_array($ext, [\'php\', \'php3\', \'php4\', \'php5\'])) { exit(\'nonono~ Bad file!\'); } $new_file_name = md5($file_name).\".\".$ext; $img_path = UPLOAD_PATH . \'/\' . $new_file_name; if (move_uploaded_file($temp_file, $img_path)){ $is_upload = true; } else { $msg = \'Upload Failed!\'; } echo \'<div style=\"color:#F00\">\'.$msg.\" Look here~ \".$img_path.\"</div>\"; } ?>

所以最终flag为flag{1313cb3a-42f4-4b6d-8633-fd9209f9b775}

------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞12 分享
If you don't enjoy your life, sorrow, sadness, fear, shame and guilt will.
如果你不好好享受生活,你的悲伤、难过、害怕、羞愧和内疚会代替你享受
评论 抢沙发

请登录后发表评论

    暂无评论内容