日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安服福音--第一弹!wvs结果批量整理工具

發布時間:2024/3/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安服福音--第一弹!wvs结果批量整理工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文原創作者:3s_NwGeek

原創投稿詳情:重金懸賞 | 合天原創投稿等你來!

0x01 應用背景

無論是安全服務的苦逼還批量挖洞的滲透伙伴時不時會使用到wvs批量掃描,而且結果要逐個打開wvs報告,然后把漏洞整理漏洞等級、名稱、描述、修復建議到excel里。歷經40小時開發和調整,現在實現了自動化完成而且免python環境執行,批量輸出漏洞等級,漏洞名稱,漏洞url,掃描資產的url,還自動翻譯漏洞名稱、漏洞描述和修復建議英文,大大改善重復體力工作。

0x02 使用示范

wvs批量提取掃描結果工具使用說明書。已升級到3.0版本,比較完善,可以提取漏洞等級,漏洞名稱,漏洞url,掃描地址,漏洞參考數據包,漏洞描述,漏洞修復建議,使用百度翻譯api,自動翻譯,聯網即可使用。

  • 使用wvs 10.5

  • 批量掃描時,使用以下模式生成報告(Affected Items)

  • 生成html報告

  • 掃描完成結果會自動存放在C:\Users\Public\Documents\Acunetix WVS 10\Saves

  • 打開cmd,把wvsReprot3.0.exe拖進cmd (需要聯網環境)

  • 然后再加保存wvs掃描結果的文件夾的路徑

  • (默認是這個: C:\Users\Public\Documents\Acunetix WVS 10\Saves)

  • 回車執行即可輸出報告

  • 輸出結果示例如下:

  • 漏洞等級|漏洞名稱|漏洞url| 掃描資產|參考數據包|漏洞描述|修復建議

    按照是wvs報告使用百度翻譯api輸出。

    工具在文末發放!

    0x03 實現原理

    1.python爬蟲

    2.python excel處理模塊

    3.百度翻譯api

    4.python 2 exe 打包編譯

    1.首先來看一下wvs報告的html格式

    每個掃描到的漏洞的信息都會有標簽順序

    漏洞url

    Alertgroup 漏洞名稱

    漏洞等級

    漏洞描述

    漏洞參考數據包

    漏洞修復建議

    所以大概實現的原理只需定位一個Alertgroup,然后再上下按順序找每個特定的標簽即可。

    Python爬蟲只爬取中高危漏洞

    用到模塊

    importos,sys,re ? ? ?#文件i/o
    frombs4 importBeautifulSoup #標簽爬取
    importhttplib,md5,urllib,random,time#baidu翻譯

    importxlwt#excel寫入

    關鍵代碼如下

    sites= soup.find_all(class_=re.compile('^s'),text="Alertgroup")
    #獲取host
    tem=str(soup.find_all(class_=re.compile('^s'),text=re.compile('^Scanof'))[0].string).split("/")
    host=(tem[0].replace("Scanof ","")+"//"+tem[2])
    scanurl= str(soup.find_all(class_=re.compile('^s'),text=re.compile('^Scanof'))[0].string).replace("Scanof ","")#掃描的資產url,跟漏洞url會不一樣

    ===================================================================
    #定義標準attrs爬取
    #漏洞名稱attrs爬取
    vulname_attrs=sites[0].find_next(class_=re.compile('^s')).attrs
    #漏洞等級attrs爬取
    vullevel_attrs=sites[0].find_next(class_=re.compile('^s')).find_next(class_=re.compile('^s')).find_next(class_=re.compile('^s')).attrs
    #漏洞urlattrs爬取
    vulurl_attrs=sites[0].find_previous(class_=re.compile('^s')).attrs
    test=sites[0].find_previous(class_=re.compile('^s'))
    if"Parameter"intest.find_previous(class_=re.compile('^s')).string:
    ? ?vulurl_attrs =test.find_previous(class_=re.compile('^s')).find_previous(class_=re.compile('^s')).attrs

    ##############################

    #漏洞描述爬取
    vuldes= site.find_next(class_=re.compile('^s'),text="Description").find_next()
    vuldes= ''.join(vuldes.parent.stripped_strings)
    vuldes= str(vuldes).decode("unicode_escape")
    vuldes= translate(vuldes)#百度翻譯
    time.sleep(1) ? ? ? ? ? ? ?#百度翻譯api只允許1秒1次
    #print vuldes
    ##############################
    # 修復建議爬取
    vulre= site.find_next(class_=re.compile('^s'),text="Recommendations").find_next()
    vulre= ''.join(vulre.parent.stripped_strings)
    vulre= str(vulre).decode("unicode_escape")
    vulre= translate(vulre)#百度翻譯
    time.sleep(1) ? ? ? ? ? ? ?#百度翻譯api只允許1秒1次

    ###############################
    #獲取數據包
    try:
    ? requestattrs = vulname.parent ?#漏洞名tag
    ? request =site.find_previous(attrs=vulurl_attrs).string # 路徑
    ? #上面已定義sep= re.compile(r'\s*\((.*?)\).*?' ) ? ? ? ? ?#同一個漏洞不同參數會出現路徑后有(md5)導致出錯,正則去除
    ? request = sep.sub('',request)
    ? rex = "^(GET|POST|OPTION|DELETE).+"+ request + ".+" # 正則
    ? if request== "Web Server" andrequest =="/":
    ? ? ? ?req = "WebServer"
    ? ?
    else:
    ? ? ? req = requestattrs.find_next(text=re.compile(rex))
    ? ? ? req=''.join(req.parent.stripped_strings) # 數據包tag
    ? ? ? req =str(req).decode("unicode_escape")
    exceptException asdes:
    ? ?req="Nodata"

    2.python excel處理模塊

    file= xlwt.Workbook(encoding ='utf-8') # 注意這里的Workbook首字母是大寫,
    table= file.add_sheet('wvs')
    table.col(1).width=320*20
    table.col(2).width=320*20
    table.col(3).width=320*20
    table.col(4).width=220*20
    table.col(5).width=520*20
    table.col(6).width=520*20
    table.write(k,0, u"漏洞等級")#寫入第一行
    table.write(k,1,u"漏洞名稱")
    table.write(k,2,u"漏洞url")
    table.write(k,3,u"掃描資產url")
    table.write(k,4,u"漏洞參考數據包")
    table.write(k,5,u"漏洞描述")
    table.write(k,6,u"修復建議")
    table.write(k,7,u"漏洞驗證")
    table.write(k,8, u"備注")

    table.write(k,0,vullevel) #寫入爬取的標簽
    table.write(k,1,vulname)
    table.write(k, 2,vulurl)
    table.write(k, 3,scanurl)
    table.write(k, 4,req)
    table.write(k, 5,vuldes)
    table.write(k, 6,vulre)

    genpath="%s\\wvsReport.xls"%sys.argv[1] ? ? ?# 保存文件
    file.save(genpath)
    print"\n\n\n\nVultotal:", k
    print"xls Report in%s\\wvsReport.xls"%sys.argv[1]

    3.百度翻譯api

    比較好理解:輸入英文輸出中文

    deftranslate(WORD):
    ? ?appid ='20151113000005349'
    ?
    secretKey = 'osubCEzlGjzvw8qdQc41'
    ?
    httpClient = None
    ? myurl = '/api/trans/vip/translate'
    ?
    q = WORD
    ? ?fromLang ='en'
    ? ?
    toLang= 'zh'
    ? ?
    salt= random.randint(32768,65536)
    ? sign = appid+q+str(salt)+secretKey
    ? m1 = md5.new()
    ? ?m1.update(sign)
    ? ?sign =m1.hexdigest()
    ? ?myurl =myurl+'?appid='+appid+'&q='+urllib.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
    ? try:
    ? ? ? httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
    ? ? ? httpClient.request('GET',myurl)
    ? ? ? ?response = httpClient.getresponse()
    ? ? ? trword=response.read().split("\"")[-2].decode('unicode_escape')
    ? except Exception,e:
    ? ? ? ?print e
    ? finally:
    ? ? ? if httpClient:
    ? ? ? ? ? httpClient.close()
    ? ?returntrword

    4.python 2 exe 打包編譯

    使用py2exe

    fromdistutils.core importsetup
    importpy2exe
    #cli # python C:\Users\lenovo\PycharmProjects\untitled\test100\打包.pypy2exe

    def main():
    ?setup(console=["C:\Users\lenovo\PycharmProjects\untitled\\3s_NwGeek\work\\wvsReport.py"])
    if__name__ == '__main__':
    ? ?main()
    ? ?pass

    編譯打包后就可以不需要python環境運行。

    0x04 文末福利

    工具分享鏈接

    鏈接:https://pan.baidu.com/s/1a3crdN-UFf-1WBeUa5SWcg

    密碼:mo32

    看不過癮?合天2017年度干貨精華請點擊《【精華】2017年度合天網安干貨集錦》

    別忘了投稿哦!

    合天公眾號開啟原創投稿啦!!!

    大家有好的技術原創文章。

    歡迎投稿至郵箱:edu@heetian.com

    合天會根據文章的時效、新穎、文筆、實用等多方面評判給予100元-500元不等的稿費喲。

    有才能的你快來投稿吧!

    點擊了解投稿詳情?重金懸賞 | 合天原創投稿等你來!

    總結

    以上是生活随笔為你收集整理的安服福音--第一弹!wvs结果批量整理工具的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。