尽最大可能分析上传源码及漏洞利用方式

作者: 分类: 渗透测试 评论: 暂无 时间: 2017-03-03 浏览: 6,882 次

0x00 简单源码分析

<?php
if ((($_FILES["file"]["type"] == "image/gif")       //检测Content-type值
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))              //检测文件大小
  {
  $ext = end(explode('.', $_FILES["file"]["name"]));  //获取最后“.”的后缀
  if($ext === 'php')                          //检测是否为php后缀
    {
    exit('error');
    }
  if ($_FILES["file"]["error"] > 0)           //返回上传错误码
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else                                                  //返回上传成功信息
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))  //检测文件是否存在
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else                          //将上传的临时文件转移到指定存放文件夹
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";              //返回无效文件的错误信息
  }
?>

阅读全文»

Backdoor CTF 2013: Web 300

作者: 分类: CTF 评论: 暂无 时间: 2016-08-13 浏览: 3,259 次

0x00 题目

H4x0r的网站系统需要积分,为你账号获得积分从而获取flag,你可以审计一波网站系统源代码
提示:管理员有一堆积分,就看你能不能用了。

0x01 解题

阅读全文»

Cobra(眼镜蛇) - 白盒审计静态代码安全扫描与分析系统

作者: 分类: 神兵利器 评论: 1条 时间: 2016-08-07 浏览: 14,963 次

0x00 介绍

眼镜蛇(Cobra)是一款定位于静态代码安全分析的工具,目标是为了找出源代码中存在的安全隐患或者漏洞。

0x01 目标用户

1. 互联网企业

互联网公司可以将Cobra部署在企业内,供开发人员使用,用来扫描项目风险. 也可以集成到内部的代码发布系统,让Cobra成为发布系统中的一环,扫描开发人员提交到线上的代码的安全性,从而限制不安全的代码上线,减少线上风险。

2. 安全公司

安全公司为互联网公司进行安全测试时,可以通过Cobra的全局项目扫描功能对甲方的所有项目进行自动代码安全审计。

3. 白帽

白帽们可以通过定制完善Cobra扫描规则, 对开源项目进行代码审计,发现其中漏洞。

0x02 应用场景

1.漏洞出现前(检测)

我们将互联网上常见的漏洞梳理为Cobra的检测规则,能够在漏洞被白帽子发现前就扫描出风险点并解决,防范于未然。

例: 提前检测代码中是否存在高危文件(.tar.gz/.rar/.bak/.swp),可以避免高危文件被下载。

2.漏洞出现中(扫描)

当企业收到白帽子提交的漏洞后,企业会在第一时间修复漏洞,并可以通过Cobra来添加扫描规则检测企业的所有项目是否存在类似漏洞。

例: 出现了ImageMagick漏洞后,可以通过Cobra设置扫描规则对历史所有项目进行快速扫描,几分钟内就能知道企业数十个项目中哪些有用到ImageMagick组件,哪些存在漏洞,哪些可以免疫。

3.漏洞出现后(限制)

当企业修复漏洞后,可以通过设置修复/验证规则来限制以后所有提交的代码都需要过修复/验证规则,否则不予上线,减少相同漏洞再次出现的可能性。

阅读全文»