def get_detail(self, host_soup, vul_summary):
''' host report -> section 2.2: vulnerability detail, return dict '''
name_detail_lst = host_soup.find('div', id='vul_detail').table.contents
same_vuls = []
for i in name_detail_lst:
if type(i) is NavigableString:
continue
if i.span:
name = i.span.string
for name_port in vul_summary:
if name in name_port:
same_vuls.append(name_port)
elif same_vuls:
# in case of repeat vulnerability but differ port
lst_solu = self.get_solution(i)
for name_port in same_vuls:
lst = vul_summary.get(name_port)
if lst and (len(lst) == 5):
vul_summary[name_port].extend(lst_solu)
same_vuls = []
return vul_summary
评论列表
文章目录