IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

一段扫flash跨站的脚本

/*旋木木*/的后街 2010-06-12 10:00:23 累计浏览 2,842 次
本机暂存
没啥技术含量,主要是扫ExternalInterface.call

    #!/usr/bin/php -q

    /*--------------------------------xy7@80sec.com----------------------------

    #Flash文件跨站检测脚本 2010/6/3

    #检测过程如下:

    提取ExternalInterface.call调用的参数,检查参数是都是直接通过loaderInfo.parameters获取

    #使用方法

    ./scan.php /as代码目录>log

    ----------------------------------xy7@80sec.com---------------------------*/

    set_time_limit(0);

    function find($directory)

    {   

    $mydir=dir($directory);

    while($file=$mydir->read()){

    if((is_dir("$directory/$file"))&&($file!=".")&&($file!=".."))

    {

    find("$directory/$file");

    }

    else{

    if($file != "." && $file != ".."&&eregi(".as",$file)){

    $fd=realpath($directory."/".$file);

    $fp = fopen($fd, "r");

    $i=0;

    while ($buffer = fgets($fp, 128)) {

    $i++;

    if(eregi("ExternalInterface.call",$buffer))

    {

    echo "Line".$i.":".$buffer."\\r\\n\\r\\n";

    preg_match("/\\((.*)\\)/i", $buffer, $match);

    if (strstr($match[1],"("))

    {

    preg_match("/\\((.*)\\)/i", $match[1], $newmatch);

    echo "再次提取后参数包含 :".$newmatch[1]."\\r\\n\\r\\n";

    $oldfp = ftell($fp);

    fseek($fp, 0);

    $p = 0;

    while ($newbuffer = fgets($fp, 128))

    {

    $p++;

    if(eregi("loaderInfo.parameters",$newbuffer))

    {

    //echo "Line".$p.":".$newbuffer."\\r\\n";

    if (strstr($newbuffer,$newmatch[1]))

    {

    echo $newmatch[1]."存在漏洞\\r\\n\\r\\n";

    }

    }

    }

    fseek($fp, $oldfp);

    unset($oldfp);

    } elseif(strstr($match[1],","))

    {

    echo "多个参数:$match[1]\\r\\n";

    if (strstr($match[1],"loaderInfo.parameters")){

    echo $match[1]."直接调用loaderInfo.parameters传递存在漏洞\\r\\n\\r\\n";

    }

    $var_array = array();

    $var_array = explode(",",$match[1]);

    $oldfp = ftell($fp);

    fseek($fp,0);

    while ($newbuffer = fgets($fp, 128))

    {

    if(eregi("loaderInfo.parameters",$newbuffer))

    {

    //echo "Line".$p.":".$newbuffer."\\r\\n\\r\\n";

    foreach ($var_array as $value)

    {

    if (strstr($newbuffer,$value))

    {

    echo trim($value)."存在漏洞\\r\\n\\r\\n";   

    }

    }

    }

    }

    fseek($fp, $oldfp);

    unset($oldfp);

    }else

    {

    echo "唯一参数:".$match[1]."\\r\\n";

    if (strstr($match[1],"loaderInfo.parameters")){

    echo $match[1]."直接调用loaderInfo.parameters传递存在漏洞\\r\\n\\r\\n";

    }

    $oldfp = ftell($fp);

    fseek($fp,0);

    while ($newbuffer = fgets($fp, 128))

    {

    if(eregi("loaderInfo.parameters",$newbuffer))

    {

    //echo "Line".$p.":".$newbuffer."\\r\\n\\r\\n";

    if (strstr($newbuffer,$match[1]))

    {

    echo trim($match[1])."存在漏洞\\r\\n\\r\\n";   

    }

    }

    }

    fseek($fp, $oldfp);

    unset($oldfp);

    }

    }

    }

    fclose($fp);

    }

    }

    }

    $mydir->close();

    }

    function all()

    {

    static $count = 1;

    echo $count;

    $count++;

    }

    find($argv[1]);

    ?>

同分类推荐文章

  1. 绿盟科技《APT组织研究年鉴》(2026 版)正式发布 (2026-06-16 20:21:10)
  2. 【已复现】Linux内核Fragnesia权限提升漏洞(CVE-2026-46300) (2026-06-15 10:53:58)
  3. 企业文档安全最佳实践(二):给文档上“身份证”——手动标密与智能自动标密 (2026-06-12 17:18:33)

查看更多 安全 文章 →

建议继续学习

  1. 视觉设计前瞻实用性研究(PNVD) 第三期 (累计阅读 6,041)
  2. 几种极其隐蔽的XSS注入的防护 (累计阅读 5,664)
  3. 为flash建立socket安全策略文件服务器 (累计阅读 4,788)
  4. 一段Javascript的代码 (累计阅读 4,331)
  5. 如何将AIR应用打包成exe (累计阅读 4,144)
  6. 新浪微博的XSS攻击 (累计阅读 4,102)
  7. 使用Http-only Cookie来防止XSS攻击 (累计阅读 4,043)
  8. 清除Firefox下Flash(swf文件)缓存 (累计阅读 3,950)
  9. FlashCookie (累计阅读 3,943)
  10. 淘宝网:前端安全须知 (累计阅读 3,921)