萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> phpcms問答某模塊存儲型xss

phpcms問答某模塊存儲型xss

 黑名單惹的禍啊


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

編輯器存在一個可以編輯源碼,當時第一反映就是。這裡肯定存在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>

copyright © 萬盛學電腦網 all rights reserved