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

Mybb 18.20 From Stored XSS to RCE 分析

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

2019年6月11日,RIPS團隊在團隊博客中分享了一篇MyBB ,文章中主要提到了一個Mybb18.20中存在的存儲型xss以及一個后臺的文件上傳繞過。
其實漏洞本身來說,畢竟是需要通過XSS來觸發的,哪怕是儲存型XSS可以通過私信等方式隱藏,但漏洞的影響再怎么嚴重也有限,但漏洞點卻意外的精巧,下面就讓我們一起來詳細聊聊看…
 
漏洞要求
儲存型xss
擁有可以發布信息的賬號權限
服務端開啟視頻解析
后臺文件創建漏洞
擁有后臺管理員權限(換言之就是需要有管理員權限的賬號觸發xss
 
漏洞分析
在原文的描述中,把多個漏洞構建成一個利用鏈來解釋,但從漏洞分析的角度來看,我們沒必要這么強行,我們分別聊聊這兩個單獨的漏洞:儲存型xss、后臺任意文件創建。
儲存型xss
在Mybb乃至大部分的論壇類CMS中,一般無論是文章還是評論又或是的什么東西,都會需要在內容中插入圖片、鏈接、視頻等等等,而其中大部分都是選擇使用一套所謂的“偽”標簽的解析方式。
也就是說用戶們通過在內容中加入[url]、[img]等“偽”標簽,后臺就會在保存文章或者解析文章的時候,把這類“偽”標簽轉化為相應的、,然后輸出到文章內容中,而這種方式會以事先規定好的方式解析和處理內容以及標簽,也就是所謂的白名單防御,而這種語法被稱之為bbcode。
這樣一來攻擊者就很難構造儲存型xss了,因為除了這些標簽以外,其他的標簽都不會被解析(所有的左右尖括號以及雙引號都會被轉義)。
function htmlspecialchars_uni($message)
{
    $message = preg_replace("#&(?!\#[0-9]+;)#si", "&", $message); // Fix & but allow unicode
    $message = str_replace(", ", $message);
    $message = str_replace(">", ">", $message);
    $message = str_replace("\"", """, $message);
    return $message;
}
正所謂,有人的地方就會有漏洞。
在這看似很絕對的防御方式下,我們不如重新梳理下Mybb中的處理過程。
在/inc/class_parse.php line 435 的 parse_mycode函數中就是主要負責處理這個問題的地方。


當服務端接收到你發送的內容時,首先會處理解析[img]相關的標簽語法,然后如果開啟了$this->options[‘allow_videocode’](默認開啟),那么開始解析video
相關的語法,然后是[list]標簽。在488行開始,會對[url]等標簽做相應的處理。
if($this->mycode_cache['callback_count'] > 0)
    {
        foreach($this->mycode_cache['callback'] as $replace)
        {
            $message = preg_replace_callback($replace['find'], $replace['replacement'], $message);
        }
    }
我們把上面的流程簡單的具象化,假設我們在內容中輸入了

后臺會首先處理video
,
然后內容就變成了

然后會處理[url]標簽,最后內容變成

乍一看好像沒什么問題,每個標簽內容都會被拼接到標簽相應的屬性內,還會被htmlspecialchars_uni處理,也沒辦法逃逸雙引號的包裹。
但假如我們輸入這樣的內容呢?

首先跟入到函數/inc/class_parse.php line 1385行 mycode_parse_video中

[1] [2] [3] [4]  下一頁

【聲明】:黑吧安全網(http://www.zjtpzs.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        神秘东方电子游艺 违法但赚钱的事 股票赚钱宝 配资 卖大东赚钱吗 迅雷赚钱宝3代收益怎么样 ih5怎么制作模板赚钱 梦幻西游吸附石不赚钱吗 魔兽G团怎么赚钱 ppt怎么在手机赚钱 玩跑酷都选择怎么赚钱 会赚钱的人的特点 刷信用卡pos机赚钱 伊甸园注册怎么赚钱的 魔域公司赚钱吗 锌土赚钱吗 寒假哪些行业赚钱 自己朗读文章赚钱软件