Commit c00ec242 authored by IrootGeek's avatar IrootGeek
Browse files

Add ranking text

parent 2a8fa770
Loading
Loading
Loading
Loading
+66 −5
Original line number Diff line number Diff line
@@ -126,6 +126,19 @@ def printCVE_html(item):
    print("References:<br>")
    for entry in item['references']:
        print(entry + "<br>")

    ranking =[]
    for entry in item['vulnerable_configuration']:
        if rankinglookup:
            rank = cves.getranking(cpeid=entry)
            if rank and rank not in ranking:
                    ranking.append(rank)
    if rankinglookup:
        print("Ranking:<br>")
        for ra in ranking:
            for e in ra:
                for i in e: 
                    print( i + ": " + str(e[i])+"<br>")
    print("<hr><hr>")

def printCVE_csv(item):
@@ -142,11 +155,35 @@ def printCVE_csv(item):
        refs = "[no vendor link found]"
    if namelookup:
        nl = " ".join(item['vulnerable_configuration'])
    ranking =[]
    ranking_=[]
    for entry in item['vulnerable_configuration']:
        if rankinglookup:
            rank = cves.getranking(cpeid=entry)
            if rank and rank not in ranking:
                    ranking.append(rank)
    if rankinglookup:
        for r in ranking:
            for e in r:
                for i in e:
                    ranking_.append(i+":"+str(e[i]))
        if not ranking_:
            ranking_="[No Ranking Found]"
        else:
            ranking_ = " ".join(ranking_)
                      
    csvoutput = csv.writer(sys.stdout, delimiter='|', quotechar='|', quoting=csv.QUOTE_MINIMAL)
    if not rankinglookup:
        if not namelookup:
            csvoutput.writerow([item['id'], str(item['Published']), item['cvss'], item['summary'], refs])
        else:
            csvoutput.writerow([item['id'], str(item['Published']), item['cvss'], item['summary'], refs, nl])
    else:
        if not namelookup:
            csvoutput.writerow([item['id'], str(item['Published']), item['cvss'], item['summary'], refs,ranking_])
        else:
            csvoutput.writerow([item['id'], str(item['Published']), item['cvss'], item['summary'], refs, nl,ranking_ ])
        
         
def printCVE_xml(item):
    c = SubElement(r, 'id')
@@ -160,9 +197,20 @@ def printCVE_xml(item):
    for e in item['references']:
        c = SubElement(r, 'references')
        c.text = SaxEscape(e)
    ranking=[]    
    for e in item['vulnerable_configuration']:
        c = SubElement(r, 'vulnerable_configuration')
        c.text = SaxEscape(e)
        if rankinglookup:
            rank = cves.getranking(cpeid=e)
            if rank and rank not in ranking:
                    ranking.append(rank)
    if rankinglookup:
        for ra in ranking:
            for e in ra:
                for i in e:
                    c = SubElement(r, i)
                    c.text =str(e[i])           

def printCVE_id(item):
    print(item['id'])
@@ -178,11 +226,24 @@ def printCVE_human(item):
        print(entry)
    print("\nVulnerable Configs:")
    print("-------------------")
    ranking=[]
    for entry in item['vulnerable_configuration']:
        
        if not namelookup:
            print(entry)
        else:
            print(cves.getcpe(cpeid=entry))
        if rankinglookup:
            rank = cves.getranking(cpeid=entry)
            if rank and rank not in ranking:
                    ranking.append(rank)
    if rankinglookup:
        print("\nRanking: ")
        print("--------")
        for ra in ranking:
            for e in ra:
                for i in e: 
                    print( i + ": " + str(e[i]))
    print("\n\n")