漏洞查詢系統構思與案例
- 2020 年 3 月 8 日
- 筆記
文章源自【位元組脈搏社區】-位元組脈搏實驗室
作者-M9kj-team
需求原因:
很多時候通過雲悉和情報社區等平台查詢到的指紋很詳細,然而絕大部分人卻不能進行相關中間件甚至相關係統漏洞的查找,只是簡單的百度,不過通過百度我們也不可能查詢到所有的漏洞,因為許多文章是被robots協議限制的。
舉個例子:我搜索db-exploit,百度搜索到的是:https://www.exploit-db.com/,而我們要的網站是:http://cve.mitre.org/這個就是說明百度也不能完整的查詢到我們所需要的,所以說我們就更需要來訂製漏洞查詢系統這個工具。

實現理想模型圖:

(注意其中的語言識別引擎是調用百度翻譯api)
部分小案例:
(ps:項目需要造潛艇,我花了幾分鐘造出來的草船各位先看看重在領會精神…)
(觀眾反應:)


我:下面是俺的程式碼啊
# -*- coding:UTF-8 -*- from bs4 import BeautifulSoup import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning) #解決編碼問題 ? 編碼 unicode import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #解決編碼問題 ? 編碼 unicode #公共變數header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36','Connection': 'keep-alive','accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'}
url = 'http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=tomcat'

req = requests.get(url=url,headers=header) res = req.text # print(res) soup = BeautifulSoup(res,'html.parser') match = soup.find('div',{'id':'TableWithRules'}) # print(match) tr_match = match.find_all('tr') # print(tr_match) for tr in tr_match: td_match = tr.find_all('td') try: print('搜索到的漏洞名稱是:{0},漏洞連接是:{1},漏洞描述是:{2}'.format(td_match[0].a.string,'http://cve.mitre.org/'+td_match[0].a.get('href'),td_match[1].get_text().strip('n').strip(' '))) except: continue
觀眾:為什麼沒有解釋? 我:不解釋連招,有本事百度哈哈~

小案常式序實現效果:

最後我想說:
其實這個實現思路跟我的poc集成攻擊軟體思路一模一樣的,都是基於mysql的一個攻擊框架亦或者說是資訊搜集框架,只要心裡有井哪裡都是空,其實大家可以沒事看下浪子大神的程式設計思路,感覺非常完美,堪比某些廠商只會調用awvs掃描器介面的封裝掃描器。(只要UI美甲方都覺得牛皮,這是個真理)。。。下..下一篇見
