最近我接到了一个工作,就是把一份很长很长的漏洞扫描报告导入到单位的“测评能手”工具中,但是这个工具不支持导入这个excel表格,所以我要艰难的手动录入。
表格的长度有16000行,是对主机和数据库的漏扫内容,每一行有用的信息如下:
主机 | 漏洞名称 | 危险等级 | 漏洞简述 | 详细描述 |
---|---|---|---|---|
xx.xx.xx.xx | xx版本过旧 | 低 | – | – |
主机有几百台,包括8个项目所有的主机,每个项目又有一些自己的服务器和DB,他们提供了服务器和DB的ip列表,我的任务就是先把不同的项目的漏洞条目分好,然后通过手工的方式一条一条的导入漏洞
把excel数据导入python
安装PANDAS
通过pandas可以读取表格的sheet页了:
首先安装pandas、以及读取需要表格依赖openpyxl库:
1pip install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
2pip install openpyxl -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
读取sheet(s)
excel读取的时候需要选定sheet页,所以我们需要先获取sheet名称,
可以通过for x in sheet_names
来loop整个excel文件。
1xpath = input("输入excel文件地址:")
2# get all sheet names
3sheep_name = pd.ExcelFile(xpath)
4sheet_names = sheep_name.sheet_names
读取XLSX表格
导入pandas库、读取xlsx文件
1import pandas as pd
2data = pd.read_excel('1.xlsx', sheet_name='Sheet1') #选取文件、要读取的sheet名
3print(data)
为了能操作到指定元素,我们需要先了解一下pandas的数据存储格式是什么:
1data = {
2 '列头1': ['Akey1', 'Akey2','Akey3'],
3 '列头2': ['Bkey1','Bkey2','Bkey3'],
4 '列头3': [np.nan, np.nan, np.nan]
5 }
所以,pandas读取进来的我这个表就是这样的:
1print(data)
2---
3 列头1 列头2 列头3
40 Akey1 Bkey1 NaN
51 Akey2 Bkey2 NaN
62 Akey3 Bkey3 NaN
获取第一列的值(通过列头名称选择):
1print(data['列头1'])
2print(data.列头1)
3---
40 Akey1
51 Akey2
62 Akey3
获取第一行的值(通过列序号选择):
1print(data.iloc[0])
2---
3列头1 Akey1
4列头2 Bkey1
5列头3 NaN
获取第一行的、第一列的值:
1print(data.iloc[0].列头1)
2print(data.iloc[0][0])
3---
4Akey1
获取指定列、第一行的值:
1print(data['列头1'][0])
2print(data.列头1[0])
3---
4Akey1
获取列头2为指定值的列头1内容:
这里比较绕,不过无脑复制就好啦!而且这个取数据方式还是比较有用的。
1datarow = data.loc[data['列头2'] == 'Bkey1']
2print(datarow.列头1)
3---
4Akey1
因为我的excel是数据源,我没有对修改excel和保存做深入研究,只有一句保存语句:
1data.to_excel(excel_writer='demo.xlsx', sheet_name='sheet_1')
了解pandas
其实仅仅为了处理excel还是没必要了解pandas了,不过网上写的教学不是很清楚都,所以我还是搜索并了解了pandas才弄明白怎么用。
1# 单维度的资料:
2import pandas as pd
3
4data = pd.Series([20, 10, 15])
5print(data)
6print('最大值', data.max())
7print('中位数', data.median())
8
9# 所有data*2
10data = data * 2
11print(data)
12
13# 判定所有的data和20相等
14data = data == 20
15print(data)
1# 双维度的资料(表格读取后的效果):
2-------------------
3 name salary
40 amy 3000
51 jhon 5000
62 bob 4000
7
8# 双维度的资料(自定义字典输入pandas)
9data2 = pd.DataFrame(
10 {
11 "name": ['amy', 'jhon', 'bob'],
12 "salary": [3000, 5000, 4000]
13 }
14)
15print(data2)
16# 取得name列内容
17print(data2['name'])
18print("=========")
19# 取得特定的横向
20print(data2.iloc[0])
21
22# data = pd.read_excel('www2.xlsx', sheet_name='Sheet1')
23data["name"] # 竖着来的
24data.iloc[0] # 横着来的(ilocation - 0,1,2,3,4……)
过滤
但是有时候我们不知道自己想要的是第几行,比如想要知道amy的工资,要怎么办呢?
data.loc
可以解决这个问题,比方说你可以提取1,2
行让表格变成一个更小的表,所以我就可以组合语句,比方说这个地方有10个amy,你接可以拉一个amy表,看看谁的工资比较高。
1data2.loc[[1,2]] #返回第2,3行变成的小的表格
2data2["name"]=="amy" #返回amy所在行
3data_amy = data2.loc[ data2["name"]=="amy" ] #返回amy所在行变成的小的表格
遍历
1#dataInip是我通过想要的ip过滤的漏洞集合,
2#获取了data之后我要导入到自己的数据结构中,vul是我的数据结构的一部分,我会作为log进行打印
3vulcount = len(list(dataInip['级别']))
4
5for i in range(vulcount):
6 vul = [dataInip.iloc[i]['漏洞名称'], dataInip.iloc[i]['简述'], mydict[dataInip.iloc[i]['级别']], dataInip.iloc[i]['描述'], dataInip.iloc[i]['解决方案']]
7 print(vul)
缓存数据
好久没有用python了我就忘记了怎么存储数据了,只会用最简单的变量了,上网简单的查了一下,可以通过这种方式来新建一个自己需要的数据结构:
1class ip_and_vuls:
2 ip = "123.456.789.456"
3 vuls = []
4
5#访问
6p1 = ip_and_vuls
7p1.ip #123.456.789.456
8#唯一的缺点就是用的时候得手动初始化, 用完了最好传出去copy
为什么我不用 init`初始化函数呢,因为我懒得学,而且这个操作更灵活(也更容易出现自己发现不了的bug)
其实如果写代码逻辑够好的话,这种也没问题,但是逻辑如果糟糕一点就是一坨屎了。
XML
为什么又说到这里呢,因为我最终的目的就是要把表格的内容转换成有效的xml,就可以直接导入而不用手动粘贴了。
python的各种操作文件是我感觉异常简单的地方,c语言、java开个文件要好几行好复杂,python一行开了,一行输入完成了,一行又关好了。
xml这里我学的不精,能用为主嘛。
1import xml.etree.ElementTree as ET
2
3# 获取xml(从外部文件读取)
4tree = ET.parse("xmlLearn.xml")
5# 获取xml根元素
6root = tree.getroot()
7# 打印xml(人不可读)
8print(ET.tostring(root))
9# 为根节点添加值
10root.set("launched","2021-11-18 10:23:15")
11
12# 为所有的investor节点添加一个属性 id
13id = 1
14for investor in tree.findall('investor'):
15 investor.set('id',str(id))
16 id += 1
17
18# 删除所有investor节点下的id
19for investor in tree.findall('investor'):
20 del(investor.attrib['id'])
21 id += 1
22
23#添加一个节点investor(!重点!)
24investor2 = ET.Element('investor')
25investor2.text = 'Karl Amber'
26root.append(investor2)
27
28# 选择特定investor(xpath看不懂)
29investor = root.find(".//investor[@id='4']")
30print(investor.text)
31
32# 输出到文件(没有缩进)
33tree.write("xmlLearn.xml")
这里我放一个图片希望大家看了可以懂,xml是一个嵌套树的结构,investor是root下面的,然而investor可以自己再有一个子节点(只要append就行了),xml是层级分明的文件结构
不过默认输出有很大的问题啊(我感觉)一是没有缩进,二是不支持中文,我很困扰所以我找到了下面的解决办法,虽然解决了但是要多加两个import了。这两个import都是python自带的,不用安装。
1import codecs
2from xml.dom import minidom
3
4# 美丽输出xml
5f = open("money.xml")
6xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent=" ")
7with codecs.open("money.xml", "w", "utf-8") as f:
8 f.write(xmlstr)
对于我来说,我就只要增加节点,给节点加内容、最后按照等保标准导入格式输出一个xml就好了
附件
我的成品(私人库主要是有点敏感信息所以就暂时不公开了)kasusa/exceltodata: – (github.com)
等级保护漏洞导入用xml格式:
1<?xml version="1.0" encoding="UTF-8"?>
2<REPORT>
3<SCANINFO TOOLNAME="XXXX" MAKERS="XXXX" POLICY="XXXX" SCANTASK="" SCANTIME="" FILE_ID="" />
4<!-- TOOLNAME="扫描工具名称" MAKERS="工具厂商名称" POLICY="策略版本" SCANTASK="任务名称" SCANTIME="扫描时间" FILE_ID="文件ID(没啥大用处其实)" -->
5
6<SCANDATA TYPE="OS">
7 <HOST IP="192.168.0.100"> <!-- *IP地址: -->
8 <OSTYPE>WINDOWS</OSTYPE> <!-- 操作系统类型:Windows、Linux、.... -->
9 <OSVERSION>Windows Server 2008</OSVERSION><!-- 操作系统版本:Windows 2008、RedHat 9、.... -->
10 <DATA>
11 <VULNERABLITY>
12 <NAME><![CDATA[Microsoft Windows Remote Desktop Protocol Server Man-in-the-Middle Weakness]]></NAME><!-- *漏洞名称: -->
13 <NO CVE="CVE-2005-1794" CNVD="CNVD-2005-1794" MS="MS07-111" OTHER="xxxx" />
14 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号",没有编号可用NONE标识 -->
15 <VULTYPE>缓存区溢出</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、中间件漏洞、其他等等 -->
16 <CVSS>6.4</CVSS><!-- 通用漏洞评分: -->
17 <PORT>3389</PORT><!-- 端口: -->
18 <RISK>中</RISK><!-- *风险情况:高、中、低、信息 -->
19 <SYNOPSIS><![CDATA[It may be possible to get access to the remote host]]></SYNOPSIS><!-- 漏洞简述: -->
20 <DESCRIPTION><![CDATA[The remote version of the Remote Desktop Protocol Server (TerminalService) is vulnerable to a man-in-the-middle (MiTM) attack. The RDP]]></DESCRIPTION><!-- *漏洞描述 -->
21 <SOLUTION><![CDATA[- Force the use of SSL as a transport layer for this service if supported, or/and]]></SOLUTION><!-- *解决方案/整改意见 -->
22 <VALIDATE><![CDATA[XXXXXX]]></VALIDATE><!-- 证据 -->
23 <REFERENCE><![CDATA[http://www.oxid.it/downloads/rdp-gbu.pdf]]></REFERENCE> <!-- 参考信息 -->
24 </VULNERABLITY>
25 <VULNERABLITY>
26 <NAME><![CDATA[Terminal Services Encryption Level is Medium or Low]]></NAME><!-- *漏洞名称: -->
27 <NO CVE="CVE-2005-1794" CNVD="CNVD-2005-1794" MS="MS07-111" OTHER="xxxx" />
28 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
29 <VULTYPE>设置不当</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、中间件漏洞、其他等等 -->
30 <CVSS>6.4</CVSS><!-- 通用漏洞评分: -->
31 <PORT>3389</PORT>
32 <RISK>中</RISK>>
33 <SYNOPSIS><![CDATA[The remote host is using weak cryptography.]]></SYNOPSIS>
34 <DESCRIPTION><![CDATA[The remote Terminal Services service is not configured to use strong cryptography.xxxxxxxxxxxxxxxxxxxxx]]></DESCRIPTION>
35 <SOLUTION><![CDATA[- Change RDP encryption level to one of :xxxxxxxxxxxxxxxxxx]]></SOLUTION>
36 <VALIDATE><![CDATA[XXXXX]]></VALIDATE>
37 <REFERENCE><![CDATA[The terminal services encryption level is set to :]]></REFERENCE>
38 </VULNERABLITY>
39 </DATA>
40 </HOST>
41
42 <HOST IP="102.168.20.20">
43 <OSTYPE>LINUX</OSTYPE>
44 <OSVERSION>RED HAT 9</OSVERSION>
45 <DATA>
46 <VULNERABLITY>
47 <NAME><![CDATA[Microsoft Windows Remote Desktop Protocol Server Man-in-the-Middle Weakness]]></NAME>
48 <NO CVE="CVE-2005-1794" CNVD="CNVD-2005-1794" MS="MS07-111" OTHER="xxxx" />
49 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
50 <VULTYPE>缓存区溢出</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、中间件漏洞、其他等等 -->
51 <CVSS>6.4</CVSS><!-- 通用漏洞评分: -->
52 <PORT>3389</PORT>
53 <RISK>中</RISK>
54 <SYNOPSIS><![CDATA[It may be possible to get access to the remote host]]></SYNOPSIS>
55 <DESCRIPTION><![CDATA[The remote version of the Remote Desktop Protocol Server (TerminalService) is vulnerable to a man-in-the-middle (MiTM) attack. The RDP]]></DESCRIPTION>
56 <SOLUTION><![CDATA[- Force the use of SSL as a transport layer for this service if supported, or/and]]></SOLUTION>
57 <VALIDATE><![CDATA[XXXXX]]></VALIDATE>
58 <REFERENCE><![CDATA[http://www.oxid.it/downloads/rdp-gbu.pdf]]></REFERENCE>
59 </VULNERABLITY>
60 <VULNERABLITY>
61 <NAME><![CDATA[Terminal Services Encryption Level is Medium or Low]]></NAME>
62 <NO CVE="CVE-2005-1794" CNVD="CNVD-2005-1794" MS="MS07-111" OTHER="xxxx" />
63 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
64 <VULTYPE>设置不当</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、中间件漏洞、其他等等 -->
65 <CVSS>6.4</CVSS><!-- 通用漏洞评分: -->
66 <PORT>3389</PORT>
67 <RISK>中</RISK>
68 <SYNOPSIS><![CDATA[The remote host is using weak cryptography.]]></SYNOPSIS>
69 <DESCRIPTION><![CDATA[The remote Terminal Services service is not configured to use strong cryptography.xxxxxxxxxxxxxxxxxxxxx]]></DESCRIPTION>
70 <SOLUTION><![CDATA[- Change RDP encryption level to one of :xxxxxxxxxxxxxxxxxx]]></SOLUTION>
71 <VALIDATE><![CDATA[XXXXX]]></VALIDATE>
72 <REFERENCE><![CDATA[The terminal services encryption level is set to :]]></REFERENCE>
73 </VULNERABLITY>
74 </DATA>
75 </HOST>
76</SCANDATA>
77
78<SCANDATA TYPE="DB">
79 <HOST IP="102.168.20.20">
80 <PORT>1433</PORT>
81 <DBTYPE>Microsoft SQL Server</DBTYPE>
82 <DBVERSION>Microsoft SQL Server 2008 R2</DBVERSION>
83 <DATA>
84 <VULNERABLITY>
85 <NAME><![CDATA[Easily-guessed password]]></NAME><!-- *漏洞名称: -->
86 <NO CVE="NONE" CNVD="NONE" MS="NONE" OTHER="NONE" />
87 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
88 <VULTYPE>弱口令</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、弱口令、其他等等 -->
89 <RISK>高</RISK><!-- *风险情况:高、中、低、信息 -->
90 <SYNOPSIS><![CDATA[It may be possible to get access to the remote host]]></SYNOPSIS><!-- 漏洞简述: -->
91 <DESCRIPTION><![CDATA[The remote version of the Remote Desktop Protocol Server (TerminalService) is vulnerable to a man-in-the-middle (MiTM) attack. The RDP]]></DESCRIPTION><!-- *漏洞描述 -->
92 <SOLUTION><![CDATA[- Force the use of SSL as a transport layer for this service if supported, or/and]]></SOLUTION><!-- *解决方案/整改意见 -->
93 <VALIDATE><![CDATA[XXXXX]]></VALIDATE><!-- 证据 -->
94 <REFERENCE><![CDATA[http://www.oxid.it/downloads/rdp-gbu.pdf]]></REFERENCE> <!-- 参考信息 -->
95 </VULNERABLITY>
96 <VULNERABLITY>
97 <NAME><![CDATA[Terminal Services Encryption Level is Medium or Low]]></NAME><!-- *漏洞名称: -->
98 <NO CVE="NONE" CNVD="NONE" MS="MS13-112" OTHER="NONE" />
99 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
100 <VULTYPE>设置不当</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、弱口令、其他等等 -->
101 <RISK>中</RISK>
102 <SYNOPSIS><![CDATA[The remote host is using weak cryptography.]]></SYNOPSIS>
103 <DESCRIPTION><![CDATA[The remote Terminal Services service is not configured to use strong cryptography.xxxxxxxxxxxxxxxxxxxxx]]></DESCRIPTION>
104 <SOLUTION><![CDATA[- Change RDP encryption level to one of :xxxxxxxxxxxxxxxxxx]]></SOLUTION>
105 <VALIDATE><![CDATA[XXXXX]]></VALIDATE><!-- 证据 -->
106 <REFERENCE><![CDATA[The terminal services encryption level is set to :]]></REFERENCE>
107 </VULNERABLITY>
108 </DATA>
109 </HOST>
110
111 <HOST IP="102.168.100.11">
112 <PORT>1433</PORT>
113 <DBTYPE>Microsoft SQL Server</DBTYPE>
114 <DBVERSION>Microsoft SQL Server 2008 R2</DBVERSION>
115 <DATA>
116 <VULNERABLITY>
117 <NAME><![CDATA[Easily-guessed password]]></NAME> <!-- *漏洞名称: -->
118 <NO CVE="NONE" CNVD="NONE" MS="NONE" OTHER="NONE" />
119 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
120 <VULTYPE>弱口令</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、弱口令、其他等等 -->
121 <CVSS>6.4</CVSS><!-- 通用漏洞评分: -->
122 <RISK>高</RISK><!-- *风险情况:高、中、低、信息 -->
123 <SYNOPSIS><![CDATA[It may be possible to get access to the remote host]]></SYNOPSIS><!-- 漏洞简述: -->
124 <DESCRIPTION><![CDATA[The remote version of the Remote Desktop Protocol Server (TerminalService) is vulnerable to a man-in-the-middle (MiTM) attack. The RDP]]></DESCRIPTION><!-- *漏洞描述 -->
125 <SOLUTION><![CDATA[- Force the use of SSL as a transport layer for this service if supported, or/and]]></SOLUTION><!-- *解决方案/整改意见 -->
126 <VALIDATE><![CDATA[XXXXX]]></VALIDATE><!-- 证据 -->
127 <REFERENCE><![CDATA[http://www.oxid.it/downloads/rdp-gbu.pdf]]></REFERENCE> <!-- 参考信息 -->
128 </VULNERABLITY>
129 <VULNERABLITY>
130 <NAME><![CDATA[Terminal Services Encryption Level is Medium or Low]]></NAME>
131 <NO CVE="NONE" CNVD="NONE" MS="MS13-112" OTHER="NONE" />
132 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
133 <VULTYPE>弱口令</VULTYPE><!-- 漏洞类型:如缓冲区溢出、设置不当、弱口令、其他等等 -->
134 <CVSS>6.4</CVSS><!-- 通用漏洞评分: -->
135 <RISK>中</RISK>
136 <SYNOPSIS><![CDATA[The remote host is using weak cryptography.]]></SYNOPSIS>
137 <DESCRIPTION><![CDATA[The remote Terminal Services service is not configured to use strong cryptography.xxxxxxxxxxxxxxxxxxxxx]]></DESCRIPTION>
138 <SOLUTION><![CDATA[- Change RDP encryption level to one of :xxxxxxxxxxxxxxxxxx]]></SOLUTION>
139 <VALIDATE><![CDATA[XXXXX]]></VALIDATE><!-- 证据 -->
140 <REFERENCE><![CDATA[The terminal services encryption level is set to :]]></REFERENCE>
141 </VULNERABLITY>
142 </DATA>
143 </HOST>
144</SCANDATA>
145
146<SCANDATA TYPE="WEB">
147 <HOST WEB="HTTP:\\WWW.TEST.COM">
148 <WEBSERVERBANNER>Apache tomcat</WEBSERVERBANNER><!-- Web Server Banner信息, -->
149 <SERVERVERSION>Microsoft Windows 2008 R2</SERVERVERSION><!-- 服务器信息 -->
150 <TECHNOLOGIES>JSP</TECHNOLOGIES><!-- 使用语言 -->
151 <DATA>
152 <VULNERABLITY>
153 <NAME><![CDATA[SQL注入漏洞]]></NAME> <!-- *漏洞名称: -->
154 <NO CVE="NONE" CNVD="NONE" MS="NONE" OTHER="NONE" />
155 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
156 <VULTYPE>注入类</VULTYPE><!-- 漏洞类型:如注入类、跨站脚本类、信息泄露类、弱口令/默认口令类、系统/服务漏洞类、权限/配置设置不当类、产品漏洞类、其他类 -->
157 <RISK>高</RISK><!-- *风险情况:高、中、低、信息 -->
158 <SYNOPSIS><![CDATA[It may be possible to get access to the remote host]]></SYNOPSIS><!-- 漏洞简述: -->
159 <DESCRIPTION><![CDATA[The remote version of the Remote Desktop Protocol Server (TerminalService) is vulnerable to a man-in-the-middle (MiTM) attack. The RDP]]></DESCRIPTION><!-- *漏洞描述 -->
160 <SOLUTION><![CDATA[- Force the use of SSL as a transport layer for this service if supported, or/and]]></SOLUTION><!-- *解决方案/整改意见 -->
161 <VALIDATE><![CDATA[XXXXX]]></VALIDATE><!-- 证据 -->
162 <REFERENCE><![CDATA[http://www.oxid.it/downloads/rdp-gbu.pdf]]></REFERENCE> <!-- 参考信息 -->
163 <DETAILS>
164 <URL URL="HTTP:\\WWW.TEST.COM?DETAILS=100"><!-- *存在漏洞的url -->
165 <TYPE>STRING</TYPE><!-- 类型(string类型、int类型、search类型、反射性、存储型等等) -->
166 <PARAMETER><![CDATA[DETAILS=100' AND '1'='1]]></PARAMETER><!-- 存在漏洞的参数(可带测试脚本) -->
167 <REQUEST><![CDATA[GET /preSysApp/global/js/validate/depends/prototype.js HTTP/1.1
168 Pragma: no-cache
169 Cache-Control: no-cache]]>
170 </REQUEST><!-- 测试发送的request -->
171 <RESPONSE><!-- 接收的request -->
172 <![CDATA[
173 xxxxxxxxxxxxxxxxxx
174 ]]>
175 </RESPONSE>
176 </URL>
177 <URL URL="HTTP:\\WWW.TEST.COM?id=120"><!-- *存在漏洞的url -->
178 <TYPE>INT</TYPE><!-- 类型(string类型、int类型、search类型、反射性、存储型等等) -->
179 <PARAMETER><![CDATA[ID=100 AND 1=1]]></PARAMETER><!-- 存在漏洞的参数(可带测试脚本) -->
180 <REQUEST><![CDATA[GET /preSysApp/global/js/validate/depends/prototype.js HTTP/1.1
181 Pragma: no-cache
182 Cache-Control: no-cache]]>
183 </REQUEST><!-- 测试发送的request -->
184 <RESPONSE>
185 <![CDATA[xxxxxxxxxxxxxxxxxx]]>
186 </RESPONSE><!-- 接收的request -->
187 </URL>
188 </DETAILS>
189 </VULNERABLITY>
190 <VULNERABLITY>
191 <NAME><![CDATA[跨站脚本]]></NAME> <!-- *漏洞名称: -->
192 <NO CVE="NONE" CNVD="NONE" MS="NONE" OTHER="NONE" />
193 <!-- CVE="CVE编号" CNVD="CNVD编号" MS="微软编号" OTHER="其他编号" -->
194 <VULTYPE>跨站脚本类</VULTYPE><!-- 漏洞类型:如注入类、跨站脚本类、信息泄露类、弱口令/默认口令类、系统/服务漏洞类、权限/配置设置不当类、产品漏洞类、其他类 -->
195 <RISK>高</RISK><!-- *风险情况:高、中、低、信息 -->
196 <SYNOPSIS><![CDATA[It may be possible to get access to the remote host]]></SYNOPSIS><!-- 漏洞简述: -->
197 <DESCRIPTION><![CDATA[The remote version of the Remote Desktop Protocol Server (TerminalService) is vulnerable to a man-in-the-middle (MiTM) attack. The RDP]]></DESCRIPTION><!-- *漏洞描述 -->
198 <SOLUTION><![CDATA[- Force the use of SSL as a transport layer for this service if supported, or/and]]></SOLUTION><!-- *解决方案/整改意见 -->
199 <VALIDATE><![CDATA[XXXXX]]></VALIDATE><!-- 证据 -->
200 <REFERENCE><![CDATA[http://www.oxid.it/downloads/rdp-gbu.pdf]]></REFERENCE> <!-- 参考信息 -->
201 <DETAILS>
202 <URL URL="HTTP:\\WWW.TEST.COM?DETAILS=100"><!-- *存在漏洞的url -->
203 <TYPE>反射性</TYPE><!-- 类型(string类型、int类型、search类型、反射性、存储型等等) -->
204 <PARAMETER><![CDATA[DETAILS=100%20%3C%73%63%72%69%70%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E]]></PARAMETER><!-- 存在漏洞的参数(可带测试脚本) -->
205 <REQUEST><![CDATA[GET /preSysApp/global/js/validate/depends/prototype.js HTTP/1.1
206 Pragma: no-cache
207 Cache-Control: no-cache]]>
208 </REQUEST><!-- 测试发送的request -->
209 <RESPONSE><!-- 接收的request -->
210 <![CDATA[xxxxxxxxxxxxxxxxxx]]>
211 </RESPONSE>
212 </URL>
213 </DETAILS>
214 </VULNERABLITY>
215 </DATA>
216 </HOST>
217</SCANDATA>
218</REPORT>
python能提取excel还能处理,我就很开心了,还学到了xml相关的内容。
今天花了5小时把上面所有东东从0学完,到直接把工具做好我感觉也够神的了我)