初探某广告联盟产生的一些猥琐想法

jeary ((:?.kcaH eb nac gnihtynA)) | 2013-11-08 10:58

最近弄了个广告联盟,好像无需备案即可申请。

点击一个广告6分钱,弹窗一个4.5毫(注意不是土豪的豪)

然后产生一系列的想法。

...

0x01:它如何验证一个电脑是否重复点击?

经过测试,发现只是验证IP和Cookie,并没有像某位基友传言的那样可以验证网卡甚至MAC,如果能验证这些,算是溢出了么?(@胖青年)

我进路由页面断开重新连接即可获取IP,清理Cookie后再次点击广告,成功获得6分钱。虽然这点钱没什么用,但是那种刷钱的感觉。问题来了。

我是否可以写一个程序自动断开连接重新去获取IP,然后模拟鼠标点击(表示两年前我就写过某个游戏的鼠标模拟,因为某个游戏点的手酸,还都是重复动作,(打,打,打,捡。打,打,打,捡。。)

这样是不是实现了自动化刷钱,目测一台电脑挂一天能30元-50元。(以上纯属YY)

看到这里有人肯定会说,别人肯定有某验证机制,看见你IP数据异常,你账户就被冻结了。

于是,问题又来了。

0x02:它如何验证作弊行为是本人所为还是他人所为?

如果1的观点成立,作弊会被冻结帐号,那么如果我去某一个流量大的使用某广告联盟的,我是否可以代理IP,加上断开连接获取IP等方式帮某位站长刷广告,站长当时看着钱一直升就激动了,殊不知等结账的时候直接提示冻结帐号。这个危害相当于可以冻结任意帐号。(貌似和那个黑帽SEO然后恶意K掉别人的站有点类似)

..

0x03:请求的广告地址是否可以CSRF?

当有人在我的网站点击广告之后,联盟执行了哪些动作?是否可以CSRF?

我首先获取广告的一串JS弹窗代码。

发现引用的这个JS,地址:http://js.yimeiads.com/page/?s=32169

打开后出现域名限制,明显已经告诉我是验证了referer.

于是,伪造之。

成功访问。


直接看看得有点晕,习惯性打开工具格式化之然后丢进MyEclipse..


关键代码如图。完整代码:1.txt

<script>

function _Zya_(b) {

    var Z = {};

    if (b in Z) return Z[b];

    return Z[b] = navigator.userAgent.toLowerCase().indexOf(b) != -1

}

function _ZFv_() {

    if (navigator.plugins && navigator.mimeTypes.length) {

        var b = navigator.plugins["Shockwave Flash"];

        if (b && b.description) return b.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s)+r/, ".")

    } else if (_Zya_("msie") && !window.opera) {

        var c = null;

        try {

            c = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")

        } catch(e) {

            var a = 0;

            try {

                c = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

                a = 6;

                c.AllowScriptAccess = "always"

            } catch(e) {

                if (a == 6) return a.toString()

            }

            try {

                c = new ActiveXObject("ShockwaveFlash.ShockwaveFlash")

            } catch(e) {}

        }

        if (c != null) {

            var a = c.GetVariable("$version").split(" ")[1];

            return a.replace(/,/g, ".")

        }

    }

    return "0"

}

function _Zref_() {

    var r;

    try {

        r = window.top.document.referrer;

    } catch(e) {

        r = document.referrer;

    };

    if (r) {

        return escape(r)

    } else {

        return "";

    };

}

function _ZSiteurl_() {

    var s;

    try {

        s = window.top.document.location.href;

    } catch(e) {

        s = document.location.href;

    };

    if (s) {

        return escape(s)

    } else {

        return "";

    };

}

function _Zsc_() {

    var s = window.screen;

    return s.width + "x" + s.height + "x" + s.colorDepth;

}

function _Zadds_() {

    var s = "&a=" + _ZFv_() + ";" + _Zsc_() + ";" + _ZSiteurl_() + ";" + _Zref_();

    return s;

}

function objpop(url) {

    try {

        var _adds_ = _Zadds_()

    } catch(e) {

        var adds = "";

    }

    var obj = new Object;

    obj.isop = 0;

    obj.w = window;

    obj.d = document;

    obj.width = screen.width;

    obj.height = screen.height;

    obj.userAgent = navigator.userAgent.toLowerCase();

    obj.url = "http://ad.yimeiads.com/iclk/?s=MjY1ODU2fGh0dHA6Ly93d3cuamVhcnkub3JnfHx8fHx8fHx8fDEzODM4NzYyNjB8MTgzLjYzLjIxNy4xNjB8NTYyfGNwbXw5fDIzOTU3fDM5MTV8MzIxNjl8MTkwMDc=;a944c33881f96b6f401258a4df65c944;http%3A%2F%2Fwww.jiaoshizhaopin.net%2Fbjr.html%3F107" + _adds_;

    obj.openstr = "width=" + obj.width + ",height=" + obj.height + ",toolbar=1,location=1,titlebar=1,menubar=1,scrollbars=1,resizable=1,directories=1,status=1";

    obj.browser = {

        version: (obj.userAgent.match(/(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, "0"])[1],

        safari: /webkit/.test(obj.userAgent),

        opera: /opera/.test(obj.userAgent),

        ie: /msie/.test(obj.userAgent) && !/opera/.test(obj.userAgent),

        max: /maxthon/.test(obj.userAgent),

        se360: /360/.test(obj.userAgent),

        tw: /theworld/.test(obj.userAgent),

        tt: /tencenttraveler/.test(obj.userAgent),

        ttqq: /QQBrowser/.test(obj.userAgent),

        tt5: /qqbrowser/.test(obj.userAgent),

        sg: /se /.test(obj.userAgent),

        ff: /mozilla/.test(obj.userAgent) && !/(compatible|webkit)/.test(obj.userAgent)

    };

    obj.open = function() {

        if (obj.browser.ie) {

            document.write("");

            document.write("");

        }

        if (!obj.browser.ie && !obj.browser.ff) {

            obj.c();

        } else {

            try {

                obj.o1 = window.open(obj.url, "_blank", obj.openstr + ",left=0,top=0");

            } catch(err) {

                obj.o1 = "";

            }

            if (obj.o1) {

                obj.w.focus();

                obj.isop = 1;

            } else {

                if (obj.browser.ie) {

                    try {

                        if (obj.browser.sg) {

                            obj.dsp();

                        } else if (obj.browser.ttqq || obj.browser.max || obj.browser.se360 || obj.browser.tw || obj.browser.tt || obj.browser.version == "7.0" || obj.browser.version == "8.0" || obj.browser.version == "9.0") {

                            setTimeout(obj.lop, 200);

                        } else {

                            obj.iev6 = true;

                            obj.dsp();

                        }

                    } catch(err) {

                        obj.c();

                    }

                } else {

                    obj.c();

                }

            }

        }

        setTimeout(obj.nt, 400); // obj.lap(); if(!obj.isop) obj.ab = setInterval(obj.c,1000); }; obj.nt = function(){ if(obj.isop==0){ if(obj.iev6) obj.dsp(); else obj.lop(); } } obj.dsp=function(){ if(obj.isop) return null; try{ setTimeout(function(){document.getElementById("_DOMScript_").DOM.Script.open(obj.url,"_blank",obj.openstr);obj.w.focus();obj.isop=1; },200); }catch(err){ } } obj.lop=function(){ if(obj.isop) return null; try{ document.getElementById("_launchURL_").launchURL(obj.url) ; obj.isop=1; }catch(err){ obj.isop=0; } } obj.lap=function(){ if(obj.browser.ie && obj.isop==0){ if(window.attachEvent){ window.attachEvent("onload",function (){ obj.lop(); }) }else { if(window.addEventListener){ window.addEventListener("load",function (){ obj.lop(); },true) }else { window.onload=function (){ obj.lop(); } } } } } obj.c = function(){ if(obj.isop) { clearInterval(obj.ab); obj.d.onclick = null; return null; } obj.d.onclick=function (){ obj.o2=window.open(obj.url,"_blank",obj.openstr+",left=0,top=0"); obj.w.focus(); if(obj.o2){ obj.d.onclick = null; clearInterval(obj.ab); obj.isop=1; } } }; return obj; } var oP=objpop(); oP.open(); 

        </script>

var obj = new Object;

    obj.isop = 0;

    obj.w = window;

    obj.d = document;

    obj.width = screen.width;

    obj.height = screen.height;

    obj.userAgent = navigator.userAgent.toLowerCase();

    obj.url = "http://ad.yimeiads.com/iclk/?s=MjY1ODU2fGh0dHA6Ly93d3cuamVhcnkub3JnfHx8fHx8fHx8fDEzODM4NzYyNjB8MTgzLjYzLjIxNy4xNjB8NTYyfGNwbXw5fDIzOTU3fDM5MTV8MzIxNjl8MTkwMDc=;a944c33881f96b6f401258a4df65c944;http%3A%2F%2Fwww.jiaoshizhaopin.net%2Fbjr.html%3F107" + _adds_;

     obj.openstr = "width=" + obj.width + ",height=" + obj.height + ",toolbar=1,location=1,titlebar=1,menubar=1,scrollbars=1,resizable=1,directories=1,status=1";

     obj.browser = {

        version: (obj.userAgent.match(/(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, "0"])[1],

         safari: /webkit/.test(obj.userAgent),

        opera: /opera/.test(obj.userAgent),

        ie: /msie/.test(obj.userAgent) && !/opera/.test(obj.userAgent),

        max: /maxthon/.test(obj.userAgent),

        se360: /360/.test(obj.userAgent),

        tw: /theworld/.test(obj.userAgent),

        tt: /tencenttraveler/.test(obj.userAgent),

        ttqq: /QQBrowser/.test(obj.userAgent),

        tt5: /qqbrowser/.test(obj.userAgent),

        sg: /se /.test(obj.userAgent),

        ff: /mozilla/.test(obj.userAgent) && !/(compatible|webkit)/.test(obj.userAgent)

关键就在这了,它open了一个加密的url,后面带上了一些客户端信息。

于是问题来了,我是否可以直接直接构造这个url然后放在img的src里,别人看到某图片我就得到钱了。

构造地址大概如:http://url/iclk/?s=********/clientinfo

..

由于公司路由不能乱关,没有实际测试。等我有时间补上。

还有很多并不完善的想法,不发了。

欢迎吐槽,欢迎指正。

1#

纷纭 | 2013-11-08 11:05

等大牛发布新的研究报告,带我们一起刷钱去

2#

园长 (你在身边就是缘,缘分写在数据库里面。) | 2013-11-08 11:07

我教你个刷百度联盟的吧,自动切换ip然后把缓存里面的index.dat清掉cookie清掉。日赚1000。

3#

YY-2012 (坐等0day三个月。。) | 2013-11-08 11:09

@园长 你试过么?

4#

木易耳朵 | 2013-11-08 11:14

@YY-2012 这风险太大了哦。别把账号玩封了啊

5#

sky (等级:史上无敌最佳新人白帽子) | 2013-11-08 11:17

@YY-2012 他只会YY

6#

jeary ((:?.kcaH eb nac gnihtynA)) | 2013-11-08 11:18

@木易耳朵 表示我对广告联盟的帐号无所谓。

7#

园长 (你在身边就是缘,缘分写在数据库里面。) | 2013-11-08 11:24

@YY-2012 必须试过,而且还能成功提现。只是测试没刷好多。

8#

360网站卫士 (专业爆腾讯漏洞30年) | 2013-11-08 11:25

@园长 请造福广大机油

9#

园长 (你在身边就是缘,缘分写在数据库里面。) | 2013-11-08 11:25

@YY-2012 @sky @jeary http://hi.baidu.com/xpy_home/item/3899d532e002ba1b9dc65e0b 以前刷的时候写的,对百度联盟肯定有效。

10#

YY-2012 (坐等0day三个月。。) | 2013-11-08 11:29

@园长 @百度 赶快封。。

11#

蟋蟀哥哥 (popok是孙子!![just for fun]) | 2013-11-08 11:30

呵呵,点击广告率太高了,很容易被人看出事刷啊。。除非你手里有个访问量非常大的站。。

不如广告的点击率是50%,明显是刷的啊。。不封你封谁。

12#

园长 (你在身边就是缘,缘分写在数据库里面。) | 2013-11-08 11:39

@蟋蟀哥哥 两年前测试的,点击率过高网站内容差谁都能看得出来。娱乐的心态就行了,毕竟又不靠那赚钱。

13#

LichKing (十个小穴有松紧) | 2013-11-08 11:50

@园长 现在还能用吗? 我可以 以身试法吗? 出了事你赔钱吗?

14#

蟋蟀哥哥 (popok是孙子!![just for fun]) | 2013-11-08 12:37

@园长 根本不用测试,用脚趾头都能想到。。不过。。可以修改自己的访问量,让广告联盟看起来自己的访问量很大。

15#

jeary ((:?.kcaH eb nac gnihtynA)) | 2013-11-08 12:49

@园长 好多联盟要备案。

@蟋蟀哥哥 访问量是可以查询的,修改了有何用?

16#

jeary ((:?.kcaH eb nac gnihtynA)) | 2013-11-08 12:53

刷到钱请感谢我 😃

17#

jeary ((:?.kcaH eb nac gnihtynA)) | 2013-11-08 12:53

@360网站卫士 360都同意这种手法了,大家努力刷钱然后来感谢我。。

18#

孤独雪狼 (打倒高帅富,推倒白富美!) | 2013-11-08 13:14

确实可以搞,但你成功了吗

19#

Sunshine (此处内容为隐藏0day,点击右边感谢即可查看此0day) | 2013-11-08 13:32

@园长 我特么都是手点的,,,,,

20#

3rr0r | 2013-11-08 13:50

@园长 对网卡不记录?

21#

jeary ((:?.kcaH eb nac gnihtynA)) | 2013-11-08 13:59

@3rr0r web端能获取网卡信息?如果能,请证明。

22#

蟋蟀哥哥 (popok是孙子!![just for fun]) | 2013-11-08 15:22

@jeary 既然拿到了权限,在把自己的网站推广一下不是很简单的事么?流量自燃就能高了

@3rr0r 浏览器获取不到网卡信息的。。除非有浏览器插件。。

23#

Vigoss_Z | 2013-11-08 15:24

@jeary

web端能获取网卡信息?

和运营商协作就可以.

24#

暴暴 | 2013-11-08 15:38

楼主想多了。。这些小联盟哪有那么多钱给你刷。

25#

船长 (0day溢出大量放送,点击右边感谢,马上送出) | 2013-11-08 16:39

哈哈哈 想多了

26#

HackBraid | 2013-11-08 19:22

思路不错,学习了!

27#

nmeia (黑阔学得再好,也入侵不了你的?) | 2013-11-09 01:10

带着我们一起去刷钱

28#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-11-09 09:46

获取网卡mac信息是需要权限的,浏览器默认安全等级不允许你这么做。