phpcms問答某模塊存儲型xss_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:PHP學(xué)習(xí)筆記之面向?qū)ο笤O(shè)計(jì)
      面向?qū)ο笤O(shè)計(jì)是php程序開發(fā)中一個(gè)很重要的內(nèi)容塊,如果你想成為高級php程序員我們必須知道面向?qū)ο笤O(shè)計(jì)具體用法與寫法。 維護(hù)簡單 模塊化是面向?qū)ο缶幊讨械囊粋(gè)特征。實(shí)體被表示為類和同一名字空間中具有相同功能的類,我們可以在名字空間中添加一個(gè)類而不會影響該名

       黑名單惹的禍啊


      在回帖處,有個(gè)編輯器功能。

      編輯器存在一個(gè)可以編輯源碼,當(dāng)時(shí)第一反映就是。這里肯定存在xss。

      果不其然,但是,在開始的時(shí)候測試


      <script>alert(1)</script>

      以及


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

      的時(shí)候,發(fā)現(xiàn)都無法執(zhí)行js代碼

       

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

       

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

      的時(shí)候,我驚訝的發(fā)現(xiàn)居然沒過濾。如圖,點(diǎn)擊之后觸發(fā)


      phpcms問答某模塊存儲型xss 模板無憂


      當(dāng)然,這個(gè)還需要點(diǎn)擊。畢竟回帖的人不是每個(gè)人都會點(diǎn)擊。那怎么樣才能把xss的成功率擴(kuò)大呢?

       

      別著急。

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

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

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



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

      來完成攻擊。構(gòu)造好的js如下:



      當(dāng)用戶訪問這篇帖子,就是受害者了。




       


      不再一一去嘗試了。希望phpcms團(tuán)隊(duì)也能重視該問題。


      修復(fù)方案:

      該編輯器是基于黑名單過濾的。如果實(shí)在要開啟編輯源碼功能,建議采用白名單過濾。不然最好還是關(guān)閉開放編輯源碼功能的權(quán)限,因?yàn)槟銈兏静恢揽缯編煏媚男┠銈兏静恢赖拇a。

       

      這里還有一枚反射型的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>

      分享:PHP文件上傳代碼用法
      php文件上傳代碼編寫過程 1. 先判斷是否上傳文件 2. 如果有再來判斷上傳中是否出錯(cuò) 3. 如果出錯(cuò),則提示出錯(cuò)信息 4. 如查沒出錯(cuò),再判斷文件類型 5. 如果類型符合條件,再判斷指定目錄中有沒有存在該文件 6. 如果沒有就把該文件移至指定目錄 在php中上傳文件必須知道的

      來源:模板無憂//所屬分類:PHP教程/更新時(shí)間:2013-05-31
      相關(guān)PHP教程