-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathptuesday.py
58 lines (47 loc) · 1.38 KB
/
ptuesday.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/python
import urllib
import urllib2
from optparse import OptionParser
import json
import hashlib
import os.path
import time
import re
import datetime
import sys
sys.path.append('./')
import xfexchange
def getbyDate(date):
furl = "https://isc.sans.edu/api/getmspatchday/%s?json" % date
headers = {"Accept": "application/json",
'User-Agent': 'Mozilla 5.0'}
request = urllib2.Request(furl, None, headers)
data = urllib2.urlopen(request)
data2 = json.loads(data.read())
return data2
def pt_toWeb(date):
returner = ""
for item in getbyDate(date)["getmspatchday"]:
returner += '''<ul> <b>%s</b>
<li>Known Exploits: <b>%s</b></li>
<li>Affects: %s</li>
<li>Severity: %s </li>
<li>Client / Server: %s</li>
<li>Title: %s</li>
<li></li></ul>
''' % (item["id"], item["exploits"], item["affected"], item["severity"],
item["clients"] + " / " +item["servers"], item["title"], )
return returner
def pt_toWebv2(date):
returner = ""
for item in getbyDate(date)["getmspatchday"]:
print str(item) + "\n\n"
returner += str(xfexchange.getxfid_fromMS(item["id"]))
return returner
parser = OptionParser()
parser.add_option("-d", "--date", dest="date" , default=None,
help="date of Patch Tuesday ", metavar="YYYY-MM-DD")
(options, args) = parser.parse_args()
if options.date is not None:
for item in getbyDate(options.date)["getmspatchday"]:
print item