1day漏洞反推技巧實戰(1)

    學習筆記裏的存貨(1)

    以前看了一篇推特老外做賞金獵人的文章,感觸有點深,作者沒有寫相關漏洞分析,只是說了自己挖了多少個漏洞,這裏簡單的分析下:

    1day漏洞在很多時候至關重要,不管是在紅藍對抗,還是在賞金獵人生涯中,他佔據着很大的地位,關於1day概念,這裏不再過多描述.

  開始我們快樂的全過程學習:

    發現某個cms,他是nodejs開發的,cms是Etherpad Lite,通過百度 google搜索相關漏洞詳情:

  

 

 

  隨便找幾個打開鏈接:

    

 

 

   會發現一件事情,你根本看不到漏洞細節,全是漏洞描述信息

   使用中文搜索:

  

 

 

 

 

  

 

 

 

 

  

  也是隻有描述沒有漏洞細節

 

   而你用這種方法去搜索一些國內比較知名的cms,如phpcms漏洞:

  

 

 

 

 

  

 你可以搜索到很多,並且除了描述信息,還有直接利用的漏洞poc和exp,你可以通過百度/谷歌獲取到漏洞細節,直接利用漏洞.  

 

  現在繼續回到Etherpad Lite這個cms系統,很顯然Etherpad Lite公開的漏洞描述,並沒有公開poc,說明是1day,需要我們去反推:

 

   讓我們再來一次,再次谷歌搜索:

  

  

 

  

  這些都是cve列表,記錄着產品的漏洞,我們隨便找到一個打開,我以第一個爲例:

 

    

 

   發現很多漏洞,點一個xss進去:

  

 

 

 

   會發現一個鏈接:點擊鏈接部分:

  

 

 

  

https://github.com/ether/etherpad-lite/commit/5879037ddca4ab9a4002adf90fc7ce6c9f82f01b

  打開鏈接,通過兩邊文件的代碼對比,就可以看出哪裏出現的安全問題:

  

 

 

  

這樣我們就可以看到區別,修復後的文件,使用padutils.escapeHTML去處理修復,這樣我們追蹤到問題代碼後,對我們唯一的難點就是獲取完整代碼,跟蹤路由地址,往上看文件修復:

  

 

 

 

作者說漏洞於2019年10月19日完成修復,那麼怎麼更快確認哪些版本的Etherpad Lite受影響呢?通過這裏查看:

  

 

 

  這些列舉出來的是已經修復的,而1.8.0-beta.1之前都是未修復的,打開releases看下:

    

 

 

的確是,1.7.5版本他的發佈時間是2019年1月26,1.8.0-beta.1的發佈時間是2019年11月3.

 下載1.7.5版本的項目看看便知:

 通過修復文件獲取到漏洞路徑:src/templates/pad.html:

  

 

  通過代碼發現,只要傳入url數據,帶入到box.innerHTML 即可觸發xss,url沒做處理

  下載1.8.0-beta.1,查看相關代碼,可以發現已經修復了:

  

 

 

 

 

   同理其他漏洞/其他產品漏洞也可以通過這種方法發現漏洞問題是什麼.

  光光是知道哪個文件存在漏洞還不行的,這裏簡單的梳理下,怎麼做才能真正利用上漏洞:

  大致思路如下:    

獲取存在安全問題項目源碼->摸清楚路由地址->根據修復之前的代碼反推安全問題->構造漏洞poc->攻擊

   簡單拋磚引玉,希望可以幫助到大家.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章