程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> phpcms問答某模塊存儲型xss

phpcms問答某模塊存儲型xss

編輯:關於PHP編程

     黑名單惹的禍啊


    在回帖處,有個編輯器功能。

    編輯器存在一個可以編輯源碼,當時第一反映就是。這裡肯定存在xss。

    果不其然,但是,在開始的時候測試


    <script>alert(1)</script>

    以及


    <img src=1 onerror=alert(1) />

    的時候,發現都無法執行js代碼。

     

    於是乎,便上http://html5sec.org/找些偏門的代碼測試。

     

    當測試:<form id="test"></form><button form="test" formaction="javascript:alert(1)">X</button>

    的時候,我驚訝的發現居然沒過濾。如圖,點擊之後觸發


    phpcms問答某模塊存儲型xss 三聯


    當然,這個還需要點擊。畢竟回帖的人不是每個人都會點擊。那怎麼樣才能把xss的成功率擴大呢?

     

    別著急。

    在http://html5sec.org/裡,還是有不少可以使用的代碼。譬如:

    <input onfocus=alert(1) autofocus> 打開頁面時候觸發(ie10,谷歌,火狐4.5有效)

    除了上面這個,還有很多都是通殺浏覽器,不一一測試,僅僅拿這個證明危害。



    這樣我們就可以廣撒網撈魚了。
    漏洞證明:值得一提的是。<input onfocus=alert(1) autofocus> 雖然是以onfocus來執行js。但是別忘了我們還有eval。可以構造<input onfocus=eval("這裡是我們想執行的代碼") autofocus>

    來完成攻擊。構造好的js如下:



    當用戶訪問這篇帖子,就是受害者了。




     


    不再一一去嘗試了。希望phpcms團隊也能重視該問題。


    修復方案:

    該編輯器是基於黑名單過濾的。如果實在要開啟編輯源碼功能,建議采用白名單過濾。不然最好還是關閉開放編輯源碼功能的權限,因為你們根本不知道跨站師會用哪些你們根本不知道的代碼。

     

    這裡還有一枚反射型的xss,順便提一下吧:

    http://118.244.225.145/index.php?m=ask&c=team&a=team_list&order=team_point&catid=&belong=team&name="><script>alert%281%29<%2Fscript>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved