web渗透测试工具
第一个:NST
NST一套免费的开源应用程序,是一个基于Fedora的Linux发行版,可在32和64位平台上运行。这个可启动的Live
CD是用于监视、分析和维护计算机网络上的安全性;它可以很容易地将X86系统转换为肉机,这有助于入侵检测,网络流量嗅探,网络数据包生成,网络/主机扫描等。
第二个:NMAP
NMAP是发现企业网络中任何类型的弱点或漏洞的绝佳工具,它也是审计的好工具。该工具的作用是获取原始数据包并确定哪些主机在网络的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。NMAP对渗透测试过程的任何阶段都很有用并且还是免费的。
第三个:BeEF工具
BeEF工具主要利用移动端的客户,它的作用是用于检查Web浏览器,对抗Web抗击。BeEF用GitHub找漏洞,它探索了Web边界和客户端系统之外的缺陷。很重要的是,它是专门针对Web浏览器的,能够查看单个源上下文中的漏洞。
第四个:Acunetix Scanner
它是一款知名的网络漏洞扫描工具,能审计复杂的管理报告和问题,并且通过网络爬虫测试你的网站安全,检测流行安全漏洞,还能包含带外漏洞。它具有很高的检测率,覆盖超过4500个弱点;此外,这个工具包含了AcuSensor技术,手动渗透工具和内置漏洞测试,可快速抓取数千个网页,大大提升工作效率。
第五个:John the Ripper
它是一个简单可快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持大多数的加密算法,如DES、MD4、MD5等。
用ASP制作网页的实训报告总结
1. 实习内容及知识应用
1.1实训内容以及进程安排
实训内容:动态网站制作的学习及动态网站的制作
这次在3名指导老师的带领下,我们主要学习了用2种现在比较流行的动态网站开发平台来开发网站:JSP平台与ASP.NET平台;JSP平台方面主要通过XX老师示范制作myblog个人博客网站而学习JSP平台的搭建、数据库的连接、网站测试等内容;而ASP.NET平台主要通过XX老师和XX2位老师的指导,学习并搭建了ASP.NET平台,掌握了网页三剑客制作动态网站的基本常识与方法,以及数据库的连接、网站测试及Photoshop处理图片等内容
:
进程安排
日期
日程安排
08年7月28日 确定小组组员,小组成员为:XX(组长),XX(组员)
08年7月29日 确定小组动态网页开发平台为ASP.NET
08年7月30日 确定网站要实现的功能①
08年7月31日-8月5日 制作BBS网站
08年8月6日 测试BBS网站
08年8月7日-08年8月15日 制作电子商务网站
08年8月16日-8月17日 测试电子商务网站
08年8月18日-8月20日 提交网站给指导老师,听取指导老师意见,完善网站
08年8月21日-8月22日 网站制作与小学期总结,写小学期文档
08年8月23日 提交小学期文档,小学期实训结束
说明:①经过讨论,我们组决定建设2个网站来实现以下功能
网站1-BBS网站:在这个网站中,我们主要实现了站点日历与站点搜索引擎2大功能。
网站2-电子商务网站:在这个网站中,我们主要实现了用户注册与登陆、购物车的实现、订单的显示等页面。
1.2知识(点)应用以及经验总结
这次制作2个网站主要应用的知识有以下:
⒈ 数据库的创建
① Access数据库的创建
Acess提供2种数据库创建方式:一种是创建一个空数据库,然后编辑数据表的内容;另一种使用数据库自带的模板创建;在动态网页面中,一般应用第一种方式
② Access数据库的打开方式
包括打开、只读方式打开、独占方式打开、只读独占方式打开
③ 利用设计器设计Access数据库
利用Access数据库里的设计器设计Access数据库
④ 使用向导设计Access数据库
通过Access的向导,经过一系列对话来设置Access数据库
⑤ 通过输入数据连接Access数据库。
先输入数据再确定字段
⒉ 数据库的连接
① ODBC连接数据库
打开ODBC数据源管理器面板。 在windows XP中打开控制面板,再打开管理工具,找到数据源(ODBC),双击图标打开管理器,选择系统DSN。添加数据源,点击添加按钮,开始创建数据源,在接下来的对话框中选择数据源的驱动程序,因我们使用的是Microsoft Access创建的数据库,所以选择Microsoft Access Driver(*.mdb)作为数据库驱动程序。点击完成按钮,填写数据源名,以简单易记为原则,这里我们以userinfo(表名)来命名,注意不要冲突。说明填不填都无所谓,是描述这个数据库的用途而已。点击选择按钮,选择你的数据库文件。找到自己想添加的数据库,选中即可。
② OLEDB连接数据库
在Dreamweaver 中,可以通过在连接字符串中包含 Provider 参数来创建 OLE DB 连接。打开Dreameaver,在站点里面先新建个ASP页面(index.asp)。 在“应用程序”面板中选中“数据库”标签。只要我们在前面建立了站点,选择了文档类型(即我们选的ASP Javascript的),并且还测试了服务器(http://www.frshb.com/newgn/);则当前我们看到就剩下第四步没有打勾了。 那现在就点击“+”号,选择“自定义连接字符串”。在弹出来的“自定义连接字符串”对话框中,"连接名称"随便写一个。“连接字符串”就要好好填写了。当"使用此计算机上的驱动程序"时应用绝对路径:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d: ewgndatabasecnbruce.mdb 否则“使用测试服务器上的驱动程序”采用Mappath转换路径"Driver={Microsoft Access Driver (*.mdb)};DBQ=" server.mappath("/newgn/database/cnbruce.mdb"),点击“测试”,出现成功对话框,成功连接数据库后,在DW里其实是自动生成了一个连接文件。位置在自动生成的Connections文件夹中,名称是你刚才在“自定义连接字符串”随便敲的为命名asp文件。还可以注意到DW数据库标签内看到mdb文件内的各个字段。
⒊ 动态网页开发技术
① 记录集的定义
分为简单记录集定义与高级记录集定义,简单记录集的定义使用户不必用SQL语句查询而快速定义记录集。高级记录集定义则通过SQL语来定义记录集。
② 记录集的绑定
记录集(查询)的绑定。在网页中插入一个表单,并输入需要插入到数据库的相关内容,然后通过记录集(查询)功能来实现表单和数据库的相互协调使用,并实现“动态”功能
③ 重复区域服务器行为
服务器行为其实一段VB代码,为了方便用户对记录集的操作,DW中将常用代码进行封装,命名为服务器行为。而重复区域服务器行为相当于一个FOR循环函数
④ 设置记录集导航条
添加记录集导航条以分页的方式用来显示重复区域服务器行为显示有限的记录
⒋XML动态网页制作
① XSLT
XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言,XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。
⒌服务器的配置
① 站点存放点的创建
打开电脑,在D盘下建立一文件夹newgn(这个夹子就是你的站点存放点了),并且在里面建几个子文件夹(就好似你网站的子目录)。
② 建立虚拟目录
回到newgn的根目录,右键选择“共享和安全”(其实是快速地建立虚拟目录)
③ 设置IIS的虚拟目录
出现属性对话框后,选择“Web共享”标签,点选“共享文件夹”,出现共享别名对话框,选择默然设置,确定即可
⒍利用Dreamweaver创建站点
选择“编辑站点”,在弹出的属性框中选“高级”标签,从“分类”中先选“本地信息”,右窗口中设置站点名称,本地根文件夹,然后设置远程信息,访问选择“本地/网络”,远端文件夹仍选择站点文件夹d: ewgn,再接着“测试服务器”,“服务器模型”暂为ASP vbscript,“访问”本地/网络,“测试服务器文件夹”仍是站点文件夹d: ewgn,“URL前缀”在http://localhost后面添加“newgn/”,添加的东西就是设置的虚拟目录,这时,站点定义基本结束,点击确定。出现“编辑站点”对话框,“完成”即可。
⒎利用FIREWORKS处理图片
利用FIREWORKS处理一些图片和制作一些GIF动画图片
经验总结:
利用Dreamweaver做ASP动态网站主要为以下几步:
①网站服务器配置
②数据库设置
③数据库显示
④建立注册系统
⑤建立登陆系统
⑥美化网站
2. 实习心得
{要求500字以上}
l 过程、功能需求、菜单设计、界面设计、数据库设计、知识的应用技巧、团队合作感受等(指导教师可按实习内容进行要求并自行增加内容)
本次小学期期实训,我们小组主要制作了2个动态网站,而制作这2个动态网站的主要过程是:
⒈个人博客网站
①站点的定义
②数据库的连接
③制作站点搜索引擎及搜索结果页面
④制作日志列表
⑤制作BLOG首页面,基本页面设计
⑥定义并绑定记录集
⑦界面的美化
⑧设置重复区域
⑨指定日期的日志内容页面
⑩日志具体内容页面-日志内容和回复及日志回复功能
⒉电子商务网站
①站点的建立和连接字符串
②用户登陆及用户登陆信息显示页面
③错误信息页面设计
④创建模板
⑤添加登陆页面的嵌入框架
⑥用户注册页面的实现
⑦添加“密码”比较验证的代码
⑧制作最新产品导航条与滚动产品导航条
⑨产品展示的实现
⑩用户购物车:限制用户登陆、添加购物车程序、购物车链接、删除购物车
而这2个网站实现的功能大不相同,前者为一个博客网站,主要实现了站点搜索引擎、日志列表、站点日期等内容;后者为一个电子商务网站,主要实现了用户登陆、用户注册、密码验证、产品展示以及用户在线购物等内容;刚确定制作网站的时候,本设想将2个网站整合在一起,但由于技术和其他原因,这个目的没能实现。
制作动态网站,数据库最重要,在我们小组这次制作网站的过程中,花时间最多的地方就是数据库-数据库的建立、数据库与网站的连接、记录集的绑定、数据库安全等等,由于时间的关系,我们小组这次采用的是Acess数据库,它与其他数据库相比较相对来说操作比较简单。在数据库的制作中,这次我们小组遇到的难题主要是采用OLEDB连接数据库的方法,这个难题的关键之处是在于如何利用 Provider 参数来创建 OLEDB 连接,我们在网上搜索了大量资料并在XX老师的帮助下终于学会了如何使用OLEDB连接数据库。
总结这次小学期实训,这次2个网站能这么顺利的完成,离不开老师的帮助和小组成员的努力,虽然这次小学期实训我们小组只有2人,但是我们是一个有效率、有组织、有团队精神的小组,有效率在于小组制作网站中分工明确、讨论有目的;有组织在于小组成员能按时、有质量的完成自己的分工任务,值得一提的是这次小学期网站开发的大部分时间在小学期实训教室而我们小组成员还从未擅自旷课、上课迟到、早退等违纪行为;有团队精神在于我们小组实训过程中的共进退,从不因为自己分工任务提前完成而拉下其他组员,我们意识到小组是一个有组织、有记录、有共同目的的集体而不是一个由分散的个人组成的团体,在这次小学期实训中之所以提出小组分工这是锻炼小组组员的个人能力培养,而帮助有困难的组员这充分培养了组员之间的默契和团队协作能力。
这次是毕业前最后的一次小学期实训,也是自己做投入、最用心的一次实训,与以前的小学期相比,以前的小学期都是以掌握某种实训技能为主,而这次小学期则不仅掌握了动态网站的制作技术而且还制作出了自己的成果,自己非常高兴。经过这次小学期,我领悟到任何东西都要“学以至用”,学习了还不行还要看自己掌握了没,掌握了还不行还要看自己熟练了没,熟练了还不行还要做出一定成果。即将毕业,能接受这么一次有意义的小学期实训感觉很充实。
网址:www.liuboxue.cn
网站安全渗透测试怎么做?
信息收集:
1、获取域名的whois信息,获取注册者邮箱姓名电话等。
2、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。
4、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。
6、google hack 进一步探测网站的信息,后台,敏感文件。
漏洞扫描:
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。
漏洞利用:
利用以上的方式拿到webshell,或者其他权限。
权限提升:
提权服务器,比如windows下mysql的udf提权。
日志清理:
结束渗透测试工作需要做的事情,抹除自己的痕迹。
总结报告及修复方案:
报告上包括:
1、对本次网站渗透测试的一个总概括,发现几个漏洞,有几个是高危的漏洞,几个中危漏洞,几个低危漏洞。
2、对漏洞进行详细的讲解,比如是什么类型的漏洞,漏洞名称,漏洞危害,漏洞具体展现方式,修复漏洞的方法。
要一份网页实训报告
一、实习目的:
通过教学实习掌握站点制作、站点测试与发布技术。会综合利用Fireworks
、Flash和Dreamweaver三个软件进行静态网站的设计。
二、实习内容:
1.用Fireworks处理图片。对图片裁剪、钝化、高斯模糊。设置图片的GIF动画格式,制作标题动画。对文字应用效果。利用Fireworks制作导航条并导出格式为html。
2.用Flash制作标题动画。首页中的动画不超过20M。制作按钮来超级链接到其他页面。
3.使用Dreamweaver布局视图,设置本地站点。在标准视图和布局视图模式相互转换。建议使用布局视图,在标准模式中插入层对象制作层动画,利用行为面板添加鼠标行为,制作翻转动画,使用CSS样式统一网页中文字样式,插入Fireworks中的GIF
文件及导入Flash中的SWF文档,设置文档间的超级链接。
三、具体要求:
1、利用Dreamweaver制作一个静态网站,要求网站有特色,整个网站的内容和形式要统一,应能够反映一个简单的主题。可以选择制作《个人网站设计》、《企业网站设计》、《文化网站的设计》、《娱乐网站设计》或者其他自己认为适合的网站。
2、 作一个主页面,至少5个次页面。
3、必须用到框架、表格或层排版技术、Flash技术和图像处理技术,使网站具有合理的外观和功能。
4、 主页基本要求:
页头Logo,准确无误地标识站点和企业标志;
网页标题动画,可以制作成GIF动画或者Flash动画;
导航条;
E-mail地址,用来接受用户垂询;
联系信息,如普通邮件地址或电话;
版权信息。
5、制作一个表单页面。
6、某个页面有滚动字幕。
7、为一个页面添加背景音乐。
8、至少添加一种行为效果。
9、整个网站各页面之间保持风格一致,页面之间要有合理的超级链接。
10、进行站点测试后申请免费空间并发布到网络。
四、网站设计思路:
本站应该算是一个个人主页的小型网站。关于本站站名的来源:微言微语个人主页,因为,我觉得这个网站里面的所有文字都是像一个人在自言自语,在低声地向某人诉说着什么,没有主题,没有目的。取这个站名,是做了网站的大概构思后才取的,觉得,这个名字与网站的图片、背景音乐还有文字都很相符。
个人主页,一般都会包括首页,相册,链接,一些个人喜欢的文字加图片,我的个人主页也不例外,包括次首页(个人喜欢的的文章加图片),我的作品(里面包括自己做的三个FLASH动画),文章(一些自己喜欢的文章),相册(Firworks处理过的相册),关于(关于自己的文字,关于本站的一些说明),链接(世界著名网站的有关链接),反馈表(浏览者信息反馈表)。
五、网站设计过程:
把所有的素材都整理好(图片,文章,相片),开始布局。此站大多数用的是“三”字型的,三字型是我给它取的名字,因为,最开头是一张带有导航条的图片,用Firworks处理过的HTML文件,中间一大片用于放正文,下面就是版权信息,E-mail地址用来接受用户垂询;联系信息,如普通邮件地址或电话,像被分开的三个部分,所以我叫它三字型。这种布局方式看起来比较的整齐,简洁美观。
首页本想做一个动态网页,由于时间有限所以还没完全成功。只好用了一张与次页面一样的背景图片做背景,加上从下向上的滚动字幕,背景图片是用Firworks处理过的图片,大片的灰色墙壁加上颜色艳丽的钮扣图案,首页加了状态栏逐字出现的效果,加了“加入收藏”、“设为首页”等代码。
次页面包括如下些内容:首页、作品、文章、相册、关于、链接以及反馈表。这些页面是用模板做的,上面的图片,导航条以及下面的版权联系方式是不用改变的,都保持着首页的风格,背景图一样,字体与样式一样,图片风格一样。中间是两个可编辑区域。
在所有的页面导航条下面,插入层对象制作了一个层动画,来回移动的层,里面存放日期,利用行为面板为此层添加了鼠标行为,单击此层,会出现对话框,“欢迎您访问我的个人主页!”,做布局大多使用表格布局,使用了少量的css样式,字体,字号,颜色都统一套用相应的样式。
首页中添加背景音乐,小说音乐《我在那一角落患过伤风》,一边看慢慢上移的文字,一边听这轻柔的音乐,给人一种意境美。其实次页面添加《虫儿飞》,轻快而活泼。首页禁止右键复制功能,右键单击没有反应。
次首页,就是进入次页面的第一个页面。主题算是与青春有关的三种感情,三张图片,用Firworks处理,加上相应的文字。要用到两个表格,分别放在两个可编辑区域里面,一个1*2的表格,一个2*2的表格,第一个表格放一张有关于亲情的图片加一小段文字,第二个表格放一张有关于友情的图片加一小段文字,还有一张有关于爱情的图片加一小段文字。作品页面是三个FLASH动画,第一个是左右键控制的图片移动按钮,可以单击来链接到主页面(代码见附录),四个图片经过裁剪、高斯模糊。第二个是光芒四射(代码见附录),要用到ActionScript语言,长短不一的线条加上透明度的改变组成光芒四射。第三个是鼠标跟随特效(代码见附录)。文章页面,就是简单的文字页面,没有什么特别的。相册页面,上面是一个用Firworks处理后的一组图片,鼠标移到小图片上,下面做出现相应的大相片,中间有少量文字,底部是用FLASH做的一组循环滚动图片(代码见附录),图片跟着鼠标的移动而左右移动。关于页面,也是简单的文字页面,没什么特别的,“个人简历”文字链接到WORD文档“个人简历”(代码:a
href="my.doc"),下面有个信息反馈的链接,链接到有关的“浏览者信息反馈表”,此信息反馈表用表单做的,用到单行文本域,多行文本域,单选框,复选框,按键,此表单可以用邮件方式反馈信息(mailto:redcarrot2001@163.com)。链接页面,前面是我的个人主页LOGO,一张用Firworks做的LOGO,并建立有关链接,中间是一些文字,下面是世界著名网页的有关网址以及相应链接。
附录:源代码
(1) 状态栏逐字出现的效果代码:
script language="JavaScript"
var msg = "欢迎来到☆※◎~~~微言微语~~~☆※◎个人主页,请多提意见。谢谢! "
;
var interval = 120
var spacelen = 120;
var space10=" ";
var seq=0;
function Helpor_net() {
len = msg.length;
window.status = msg.substring(0, seq+1);
seq++;
if ( seq = len ) {
seq = 0;
window.status = '';
window.setTimeout("Helpor_net();", interval );
}
else
window.setTimeout("Helpor_net();", interval );
}
Helpor_net();
/script
(2) 首页收藏代码:
onClick="window.external.addFavorite('http://redcarrot2001.xinwen520.com','微言微语个人主页')"---收藏本站br
(3)设为首页代码:
onclick="var
strHref=window.location.href;this.style.behavior='url(#default#homepage)';this.setHomePage('http://redcarrot2001.xinwen520.net');"---设为首页/span/p
(4)滚动字幕代码:
marquee align=left direction=up
behavior=scroll height=400
width=550 hspcace=5 scrollmount=2 scrolldelay=200
vspce=5 loop=-1
pspan class="b53c-a44c-a54c-70a5 css"1、真的很喜欢那些记录多于表达的人。
br /
…………
…………
183、希望每一个新的一天,醒来的那个你都神清气爽。/span
/p
/div
/p
/marquee
(5)添加背景音乐代码:
bgsound src="aa.mp3" loop=1
(6)禁止右键复制功能代码:
script language="JavaScript"
!--
document.oncontextmenu=new
Function("event.returnValue=false;"); //禁止右键功能,单击右键将无任何反应
document.onselectstart=new
Function("event.returnValue=false;"); //禁止先择,也就是无法复制//--
/script
style type="text/css"
(7)光芒四射代码:
duplicateMovieClip("line","line"+i,i);
setProperty("line"+i,_rotation,random(360));
setProperty("line"+i,_alpha,random(100));
i++;)
if(i100){
gotoAndPlay(1);
}else{
i=1;
}
(8)鼠标跟随代码:
movie._visible=0;
i=0;
i++;
if(i100){
i=1;
}
movie._x+=(_xmouse-movie._x)/30;
movie._y+=(_ymouse-movie._y)/30;
duplicateMovieClip(movie,"movie"+i,i);
this["movie"+i]._x=movie._x;
this["movie"+i]._y=movie._y;
gotoAndPlay(2);
(9)循环滚动图片:
onClipEvent (enterFrame) {
this._x-=(_root._xmouse-300)/15;
if(this._x1371.1){
this._x=this._x-1371.1;
}
if(this._x-1371.1){
this._x=this._x+1371.1;
}
}
(10)左右键控制的图片移动按钮:
on(release)
{getURL("index.html","_blank");}
六、实训中遇到的难点及解决办法:
在设计开始的时候,想的太多,不知道怎么开头,定哪个主题,背景,色调,文字,布局都没有头绪,后来,开始做,而且觉得越做越有头绪了,所以我觉得,还是不要想的太多,太复杂了,不要追求完美,不要做的网页太多,搞到最后,别人都不知道,你这个网站的主题是什么了。
还有就是布局的时候总是不能做到很美观,后来,我把页面属性改了左过距为10,上边距为10,刚好把背景图片里面的那些亮丽的钮扣图案显示出来,改变了表格背景图的灰暗,使网页的整体看起来更美观了。
在做CSS样式表的时候,做字的颜色的时候,老是不知道用哪种颜色才搭配的起这个背景,后来,看到那个背景的钮扣颜色与灰色配起来很好看就用吸管取了钮扣的颜色了。
七、实训心得:
在我看来,设计网页,应该先策划,策划很重要,加上创意,配色很重要,技术与鉴赏能力是最主要的。建立站点的时候,各个文件夹取名的时候,最好用相应的英语,见名知意,如图片文件夹用image,网页文件夹用html。
在所有配色当中,不同的颜色传达着不同的意义也有不同的象征。如白色代表着:清洁、天真、洁净、真理、和平、冷淡、贫乏;灰色让人联想到灰尘、石头、水泥、白银,象征着中庸、平凡、温和、谦让,它给人以中立和高雅的感觉。太多的颜色会给人带来视觉上的疲劳。所以,在我下载准备素材的时候,就选择用灰色做背景颜色,灰色太贫乏,就加上亮色的钮扣起到“中和”的作用。
通过此次实训,我觉得平面设计的创意思维、版面设计、色彩配置、图形创意等方面都有很重要,对于网页制作来说,我觉得是一个以多学科设计为基础,受到包括视觉艺术、技术、内容的多种影响。网页设计的技术不算什么困难,真正困难的是网页的设计创意,文字我觉得也很重要,有些人浏览你的网页不是喜欢上你的艳丽漂亮的图片,也许是喜欢上你的文字,那种感动人心的,唯美的文字。文字与图片要搭得上调,不可能用一张美女图做背景,上面却写有关于亲情的文章。也就是整体的搭配问题。
通过此次实训,使我对于网页制作的三大软件有了进一步的了解,各功能都能够实现。提高了自己的鉴赏能力,综合搭配能力,也对以前学过的内容进行了综合的复习。
通过此次实训,我更了解到,生活中有许多色彩,搭配颜色的时候,联想到生活中的东西会做的更漂亮,给人一种亲切感,现在看到什么东西,我就会联想到做网页的时候,还有怎么布局。反正此次实训收获很多。
最后,我想,如果此次实训老师是要我们分组来做的话,也许,我们可以做得更好,因为,一个想的毕竟不全面,而且,一个人的申美有限,我们可以分工合作,一个人做一个方面的东西,也可以根据他所善长的方面来分工,善长动画制作的人做动画,善长图片处理的人做图片,善长文字与布局的就来布局。但是,也许那样,有些同学会懒的动手,推着给别人做。
如何对网站进行渗透测试和漏洞扫描
零、前言
渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为。 这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(Ethical hacking),因此我们这里的所有读者应当都是Ethical Hackers,如果您还不是,那么我希望您到过这里后会成为他们中的一员 ;)
这里,我还想对大家说一些话:渗透测试重在实践,您需要一颗永不言败的心和一个有着活跃思维的大脑。不是说您将这一份文档COPY到您网站上或者保存到本地电脑您就会了,即使您将它打印出来沾点辣椒酱吃了也不行,您一定要根据文档一步一步练习才行。而且测试重在用脑,千万别拿上一两个本文中提到的工具一阵乱搞,我敢保证:互联网的安全不为因为这样而更安全。祝您好运。。。
一、简介
什么叫渗透测试?
渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。
进行渗透测试的目的?
了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。为什么说叫直观呢?就像Mitnick书里面提到的那样,安全管理(在这里我们改一下,改成安全评估工作)需要做到面面俱到才算成功,而一位黑客(渗透测试)只要能通过一点进入系统进行破坏,他就算是很成功的了。
渗透测试是否等同于风险评估?
不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分(可选)。
已经进行了安全审查,还需要渗透测试吗?
如果我对您说:嘿,中国的现有太空理论技术通过计算机演算已经能够证明中国完全有能力实现宇航员太空漫步了,没必要再发射神8了。您能接受吗?
渗透测试是否就是黑盒测试?
否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。这时,安全测试人员可以被告之包括代码片段来内的有关于系统的一些信息。这时,它就满足灰盒甚至白盒测试。
渗透测试涉及哪些内容?
技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THE ART OF INTRUSION)。
渗透测试有哪些不足之处?
主要是投入高,风险高。而且必须是专业的Ethical Hackers才能相信输出的最终结果。
你说的那么好,为什么渗透测试工作在中国开展的不是很火热呢?
我只能说:会的,一定会的。渗透测试的关键在于没法证明你的测试结果就是完善的。用户不知道花了钱证明了系统有问题以后,自己的安全等级到了一个什么程序。但是很显然,用户是相信一个专业且经验丰富的安全团队的,这个在中国问题比较严重。在我接触了一些大型的安全公司进行的一些渗透测试过程来看,测试人员的水平是对不住开的那些价格的,而且从测试过程到结果报表上来看也是不负责的。我估计在三年以后,这种情况会有所改观,到时一方面安全人员的技术力量有很大程度的改观,另一方面各企业对渗透测试会有一个比较深刻的理解,也会将其做为一种IT审计的方式加入到开发流程中去。渗透测试的专业化、商业化会越来越成熟。
二、制定实施方案
实施方案应当由测试方与客户之间进行沟通协商。一开始测试方提供一份简单的问卷调查了解客户对测试的基本接收情况。内容包括但不限于如下:
目标系统介绍、重点保护对象及特性。
是否允许数据破坏?
是否允许阻断业务正常运行?
测试之前是否应当知会相关部门接口人?
接入方式?外网和内网?
测试是发现问题就算成功,还是尽可能的发现多的问题?
渗透过程是否需要考虑社会工程?
。。。
在得到客户反馈后,由测试方书写实施方案初稿并提交给客户,由客户进行审核。在审核完成后,客户应当对测试方进行书面委托授权。这里,两部分文档分别应当包含如下内容:
实施方案部分:
...
书面委托授权部分:
...
三、具体操作过程
1、信息收集过程
网络信息收集:
在这一部还不会直接对被测目标进行扫描,应当先从网络上搜索一些相关信息,包括Google Hacking, Whois查询, DNS等信息(如果考虑进行社会工程学的话,这里还可以相应从邮件列表/新闻组中获取目标系统中一些边缘信息如内部员工帐号组成,身份识别方式,邮件联系地址等)。
1.使用whois查询目标域名的DNS服务器
2.nslookup
set type=all
domain
server ns server
set q=all
ls -d domain
涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs 除此之外,我想特别提醒一下使用Googlebot/2.1绕过一些文件的获取限制。
Google hacking 中常用的一些语法描述
1.搜索指定站点关键字site。你可以搜索具体的站点如site:www.nosec.org。使用site:nosec.org可以搜索该域名下的所有子域名的页面。甚至可以使用site:org.cn来搜索中国政府部门的网站。
2.搜索在URL网址中的关键字inurl。比如你想搜索带参数的站点,你可以尝试用inurl:asp?id=
3.搜索在网页标题中的关键字intitle。如果你想搜索一些登陆后台,你可以尝试使用intitle:"admin login"
目标系统信息收集:
通过上面一步,我们应当可以简单的描绘出目标系统的网络结构,如公司网络所在区域,子公司IP地址分布,VPN接入地址等。这里特别要注意一些比较偏门的HOST名称地址,如一些backup开头或者temp开关的域名很可能就是一台备份服务器,其安全性很可能做的不够。
从获取的地址列表中进行系统判断,了解其组织架构及操作系统使用情况。最常用的方法的是目标所有IP网段扫描。
端口/服务信息收集:
这一部分已经可以开始直接的扫描操作,涉及的工具包括:nmap,thc-amap
1.我最常使用的参数
nmap -sS -p1-10000 -n -P0 -oX filename.xml --open -T5 ip address
应用信息收集:httprint,SIPSCAN,smap
这里有必要将SNMP拿出来单独说一下,因为目前许多运营商、大型企业内部网络的维护台通过SNMP进行数据传输,大部分情况是使用了默认口令的,撑死改了private口令。这样,攻击者可以通过它收集到很多有效信息。snmp-gui,HiliSoft MIB Browser,mibsearch,net-snmp都是一些很好的资源。
2、漏洞扫描
这一步主要针对具体系统目标进行。如通过第一步的信息收集,已经得到了目标系统的IP地址分布及对应的域名,并且我们已经通过一些分析过滤出少许的几个攻击目标,这时,我们就可以针对它们进行有针对性的漏洞扫描。这里有几个方面可以进行:
针对系统层面的工具有:ISS, Nessus, SSS, Retina, 天镜, 极光
针对WEB应用层面的工具有:AppScan, Acunetix Web Vulnerability Scanner, WebInspect, Nstalker
针对数据库的工具有:ShadowDatabaseScanner, NGSSQuirreL
针对VOIP方面的工具有:PROTOS c07 sip(在测试中直接用这个工具轰等于找死)以及c07 h225, Sivus, sipsak等。
事实上,每个渗透测试团队或多或少都会有自己的测试工具包,在漏洞扫描这一块针对具体应用的工具也比较个性化。
3、漏洞利用
有时候,通过服务/应用扫描后,我们可以跳过漏洞扫描部分,直接到漏洞利用。因为很多情况下我们根据目标服务/应用的版本就可以到一些安全网站上获取针对该目标系统的漏洞利用代码,如milw0rm, securityfocus,packetstormsecurity等网站,上面都对应有搜索模块。实在没有,我们也可以尝试在GOOGLE上搜索“应用名称 exploit”、“应用名称 vulnerability”等关键字。
当然,大部分情况下你都可以不这么麻烦,网络中有一些工具可供我们使用,最著名的当属metasploit了,它是一个开源免费的漏洞利用攻击平台。其他的多说无益,您就看它从榜上无名到冲进前五(top 100)这一点来说,也能大概了解到它的威力了。除此之外,如果您(您们公司)有足够的moeny用于购买商用软件的话,CORE IMPACT是相当值得考虑的,虽然说价格很高,但是它却是被业界公认在渗透测试方面的泰山北斗,基本上测试全自动。如果您觉得还是接受不了,那么您可以去购买CANVAS,据说有不少0DAY,不过它跟metasploit一样,是需要手动进行测试的。最后还有一个需要提及一下的Exploitation_Framework,它相当于一个漏洞利用代码管理工具,方便进行不同语言,不同平台的利用代码收集,把它也放在这里是因为它本身也维护了一个exploit库,大家参考着也能使用。
上面提到的是针对系统进行的,在针对WEB方面,注入工具有NBSI, OWASP SQLiX, SQL Power Injector, sqlDumper, sqlninja, sqlmap, Sqlbftools, priamos, ISR-sqlget***等等。
在针对数据库方面的工具有:
数据库 工具列表 Oracle(1521端口): 目前主要存在以下方面的安全问题:
1、TNS监听程序攻击(sid信息泄露,停止服务等)
2、默认账号(default password list)
3、SQL INJECTION(这个与传统的意思还不太一样)
4、缓冲区溢出,现在比较少了。 thc-orakel, tnscmd, oscanner, Getsids, TNSLSNR, lsnrcheck, OAT, Checkpwd, orabf MS Sql Server(1433、1434端口) Mysql(3306端口) DB2(523、50000、50001、50002、50003端口) db2utils Informix(1526、1528端口)
在针对Web服务器方面的工具有:
WEB服务器 工具列表 IIS IISPUTSCANNER Tomcat 想起/admin和/manager管理目录了吗?另外,目录列表也是Tomcat服务器中最常见的问题。比如5.*版本中的http://127.0.0.1/;index.jsp
http://www.example.com/foo/"../manager/html
http://www.example.com:8080/examples/servlets/servlet/CookieExample?cookiename=HAHAcookievalue=%5C%22FOO%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2F%3B
http://www.example.com:8080/servlets-examples/servlet/CookieExample?cookiename=BLOCKERcookievalue=%5C%22A%3D%27%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2Fservlets-examples%2Fservlet+%3B JBOSS jboss的漏洞很少,老版本中8083端口有%符号的漏洞:
GET %. HTTP/1.0可以获取物理路径信息,
GET %server.policy HTTP/1.0可以获取安全策略配置文档。
你也可以直接访问GET %org/xxx/lib.class来获取编译好的java程序,再使用一些反编译工具还原源代码。 Apache Resin http://victim/C:%5C/
http://victim/resin-doc/viewfile/?file=index.jsp
http://victim/resin-doc/viewfile/?contextpath=/otherwebappservletpath=file=WEB-INF/web.xml
http://victim/resin-doc/viewfile/?contextpath=/servletpath=file=WEB-INF/classes/com/webapp/app/target.class
http://victim/[path]/[device].[extension]
http://victim/%20.."web-inf
http://victim/%20
http://victim/[path]/%20.xtp WebLogic
Web安全测试主要围绕几块进行:
Information Gathering:也就是一般的信息泄漏,包括异常情况下的路径泄漏、文件归档查找等
Business logic testing:业务逻辑处理攻击,很多情况下用于进行业务绕过或者欺骗等等
Authentication Testing:有无验证码、有无次数限制等,总之就是看能不能暴力破解或者说容不容易通过认证,比较直接的就是“默认口令”或者弱口令了
Session Management Testing:会话管理攻击在COOKIE携带认证信息时最有效
Data Validation Testing:数据验证最好理解了,就是SQL Injection和Cross Site Script等等
目前网上能够找到许多能够用于进行Web测试的工具,根据不同的功能分主要有:
枚举(Enumeration): DirBuster, http-dir-enum, wget
基于代理测试类工具:paros, webscarab, Burp Suite
针对WebService测试的部分有一些尚不是很成熟的工具,如:wsbang,wschess,wsmap,wsdigger,wsfuzzer
这一部分值得一提的是,很多渗透测试团队都有着自己的测试工具甚至是0DAY代码,最常见的是SQL注入工具,现网开发的注入工具(如NBSI等)目前都是针对中小企业或者是个人站点/数据库进行的,针对大型目标系统使用的一些相对比较偏门的数据库系统(如INFORMIX,DB2)等,基本上还不涉及或者说还不够深入。这时各渗透测试团队就开发了满足自身使用习惯的测试工具。
在针对无线环境的攻击有:WifiZoo
4、权限提升
在前面的一些工作中,你或许已经得到了一些控制权限,但是对于进一步攻击来说却还是不够。例如:你可能很容易的能够获取Oracle数据库的访问权限,或者是得到了UNIX(AIX,HP-UX,SUNOS)的一个基本账号权限,但是当你想进行进一步的渗透测试的时候问题就来了。你发现你没有足够的权限打开一些密码存储文件、你没有办法安装一个SNIFFER、你甚至没有权限执行一些很基本的命令。这时候你自然而然的就会想到权限提升这个途径了。
目前一些企业对于补丁管理是存在很大一部分问题的,他们可能压根就没有想过对一些服务器或者应用进行补丁更新,或者是延时更新。这时候就是渗透测试人员的好机会了。经验之谈:有一般权限的Oracle账号或者AIX账号基本上等于root,因为这就是现实生活。
5、密码破解
有时候,目标系统任何方面的配置都是无懈可击的,但是并不是说就完全没办法进入。最简单的说,一个缺少密码完全策略的论证系统就等于你安装了一个不能关闭的防盗门。很多情况下,一些安全技术研究人员对此不屑一顾,但是无数次的安全事故结果证明,往往破坏力最大的攻击起源于最小的弱点,例如弱口令、目录列表、SQL注入绕过论证等等。所以说,对于一些专门的安全技术研究人员来说,这一块意义不大,但是对于一个ethical hacker来说,这一步骤是有必要而且绝大部分情况下是必须的。;)
目前比较好的网络密码暴力破解工具有:thc-hydra,brutus
hydra.exe -L users.txt -P passwords.txt -o test.txt -s 2121 www.heimian.com ftp
目前网络中有一种资源被利用的很广泛,那就是rainbow table技术,说白了也就是一个HASH对应表,有一些网站提供了该种服务,对外宣称存储空间大于多少G,像rainbowcrack更是对外宣称其数据量已经大于1.3T。
针对此种方式对外提供在线服务的有:
网址 描述 rainbowcrack 里面对应了多种加密算法的HASH。 http://gdataonline.com/seekhash.php http://www.milw0rm.com/cracker/info.php http://www.hashchecker.com/?_sls=search_hash http://bokehman.com/cracker/ http://passcracking.ru/ http://www.md5.org.cn http://www.cmd5.com/ 数据量全球第一,如果本站无法破解,那么你只能去拜春哥...
当然,有些单机破解软件还是必不可少的:Ophcrack,rainbowcrack(国人开发,赞一个),cain,L0phtCrack(破解Windows密码),John the Ripper(破解UNIX/LINUX)密码,当然,还少不了一个FindPass...
针对网络设备的一些默认帐号,你可以查询http://www.routerpasswords.com/和http://www.phenoelit-us.org/dpl/dpl.html
在渗透测试过程中,一旦有机会接触一些OFFICE文档,且被加了密的话,那么,rixler是您马上要去的地方,他们提供的OFFICE密码套件能在瞬间打开OFFICE文档(2007中我没有试过,大家有机会测试的话请给我发一份测试结果说明,谢谢)。看来微软有理由来个补丁什么的了。对于企业来说,您可以考虑使用铁卷或者RMS了。
6、日志清除
It is not necessary actually.
7、进一步渗透
攻入了DMZ区一般情况下我们也不会获取多少用价值的信息。为了进一步巩固战果,我们需要进行进一步的内网渗透。到这一步就真的算是无所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺骗)。当然,最简单的你可以翻翻已入侵机器上的一些文件,很可能就包含了你需要的一些连接帐号。比如说你入侵了一台Web服务器,那么绝大部分情况下你可以在页面的代码或者某个配置文件中找到连接数据库的帐号。你也可以打开一些日志文件看一看。
除此之外,你可以直接回到第二步漏洞扫描来进行。
四、生成报告
报告中应当包含:
薄弱点列表清单(按照严重等级排序)
薄弱点详细描述(利用方法)
解决方法建议
参与人员/测试时间/内网/外网
五、测试过程中的风险及规避
在测试过程中无可避免的可能会发生很多可预见和不可预见的风险,测试方必须提供规避措施以免对系统造成重大的影响。以下一些可供参考:
1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。
2. 测试验证时间放在业务量最小的时间进行。
3. 测试执行前确保相关数据进行备份。
4. 所有测试在执行前和维护人员进行沟通确认。
5. 在测试过程中出现异常情况时立即停止测试并及时恢复系统。
6. 对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透测试。
如何写一份网络渗透测试计划报告?
网络渗透测试计划报告
网络和计算机安全问题已经成为政府、企业必须面对的现实问题。应对安全威胁的途径之一就是采用渗透测试的方法模拟黑客的攻击,找出网络和计算机系统中存在的安全缺陷,有针对性地采取措施,堵住漏洞,固身健体。
渗透测试是一个日渐壮大的行业。本书详细阐述了渗透测试中如何模拟外部攻击者对网络和主机的攻击和渗透,给出了各个步骤。其内容可以划分为两部分:渗透测试的思想、方法、指导原则和具体的渗透测试过程。前一部分重点放在理解渗透测试、评估风险和建立测试计划;后一部分着重介绍具体的操作和工具。除了介绍攻击方法之外,基本上每一章都给出了检测攻击的方法,同时也说明了如何通过加固系统和网络来防止此类攻击。在各章的末尾,都给出了运用本章介绍的工具和方法进行实际操作的示例。本书为读者提供了渗透测试的思想、方法、过程和途径,而不仅仅是工具。
本书既可以作为政府、企业网络安全的参考资料,也可以作为大专院校学生渗透测试方面的教材,适用于招聘渗透测试人员的单位、要应聘渗透测试的人员及保护网络安全、避免恶意攻击的人员。
如何写好一份渗透测试报告
当你连续奋战了好几天,终于合上了笔记本,想要出去透透风时,一个熟悉的问句传来:“你好,请问什么时候可以交付报告?”
有成千上万的书籍讲解什么是信息安全,什么是渗透测试,也有数不清的培训课程视频。但是,我敢打赌,在这些材料中,只有不到10%是在讲写报告的事情。在一个完整的渗透测试过程中,有将近一半的时间都用在了编写报告上,这听起来很让人吃惊,但是也并不奇怪。
教会某人写报告不像教会某人制作一个完美的缓冲区溢出那么有意思,大部分的渗透测试人员情愿复习19次TCP数据包结构的工作原理,也不愿意写一份报告。
不管我们的渗透测试水平多么高,想要把一个很深的技术点解释的很通俗易懂,即使是完全不懂安全的人也可以理解,这是一件异常艰难的挑战。不但得学会简单明了的解释渗透测试的结果,还得控制好时间。这样做的好处很多,关系到客户会不会不断的采购你的服务。有一次,我开车到350英里以外的一家客户那里做售前,当面重新解释了渗透测试报告的本内容;如果能把测试报告写的简单明了,我就不用跑这么一趟,相当于节省了一整天的时间和一整箱汽油。
举个例子:
一个模糊不清的解释:“SSH版本应该被禁用,因为它含有高危漏洞,可能允许攻击者在网络上拦截和解密通信,虽然攻击者控制网络的风险很低,这减少了严重性。”
清楚的解释:“建议在这些设备上禁用SSH,如果不这样做,就有可能允许攻击者在当地网络解密和拦截通讯。”
为什么渗透测试报告如此重要?
请谨记:渗透测试是一个科学的过程,像所有科学流程一样,应该是独立可重复的。当客户不满意测试结果时,他有权要求另外一名测试人员进行复现。如果第一个测试人员没有在报告中详细说明是如何得出结论的话,第二个测试人员将会不知从何入手,得出的结论也极有可能不一样。更糟糕的是,可能会有潜在漏洞暴露于外部没有被发现。
举个例子:
模糊不清的描述:“我使用端口扫描器检测到了一个开放的TCP端口。“
清晰明了的描述:“我使用Nmap 5.50,对一段端口进行SYN扫描,发现了一个开放的TCP端口。
命令是:nmap –sS –p 7000-8000“
报告是实实在在的测试过程的输出,且是真实测试结果的证据。对客户高层管理人员(批准用于测试的资金的人)可能对报告的内容没有什么兴趣,但这份报告是他们唯一一份证明测试费用的证据。渗透测试不像其他类型的合同项目。合同结束了,没有搭建新的系统,也没有往应用程序添加新的代码。没有报告,很难向别人解释他们刚买的什么东西。
报告给谁看?
至少有三种类型的人会阅读你的报告:高级管理人员,IT管理和IT技术人员。
高级管理人员根本不关心,或者压根不明白它的意思,如果支付服务器使用SSL v2加密连接。他们想知道的答案是“我们现在到底安不安全?”
IT管理对该组织的整体安全性感兴趣,同时也希望确保其特定的部门在测试过程中都没有发现任何重大问题。我记得给三个IT经理一份特别详细的报告。阅读这份报告后有两个人脸色变得苍白,而第三个人笑着说“太好了,没有数据库的安全问题”。
IT人员是负责修复测试过程中发现的问题的人。他们想知道三件事:受影响系统的名称,该漏洞的严重程度以及如何解决它。他们也希望这些信息以一种清晰而且有组织的方式呈现给他们。最好的方法是将这些信息以资产和严重程度来进行划分。例如“服务器A”存在“漏洞X,Y和Z,漏洞Y是最关键的。这样IT人员就可以快速的找到问题的关键,及时修复。
当然,你可以问你的客户是否愿意对漏洞分组。毕竟测试是为了他们的利益,他们是付钱的人!一些客户喜欢有个详细说明每个漏洞的页面,并表明受漏洞影响的资产有哪些。
虽然我已经提到了渗透测试报告三种最常见的读者,但这并不是一个详尽的清单。一旦报告交付给客户,取决于他们用它干什么。它可能最终被提交给审计人员作为审计的证据。它可以通过销售团队呈现给潜在客户。“任何人都可以说自己的产品是安全的,但他们可以证明这一点?我们可以看看这里的渗透测试报告。“
报告甚至可能最终共享给整个组织。这听起来很疯狂,但它确实发生过。我执行一次社会工程学测试,其结果低于客户的期望。被触怒的CEO将报告传递给整个组织,作为提高防范社会工程攻击意识的一种方式。更有趣的是,几周后当我访问同一个公司做一些安全意识的培训。我在自我介绍时说,我就是之前那个负责社工测试的人。愤怒的目光,嘲讽的语气,埋怨我给他们所有人带来多少麻烦。我的内心毫无波动,答道:“把密码给我总比给真正的黑客好。”
报告应该包含什么?
有时候你会很幸运的看到,客户在项目计划之初就表明他们想要的报告内容。甚至有一些更为细小的要求,比如,字体大小和线间距等。但是这只是少数,大部分客户还是不知道最终要什么结果,所以下面给出一般报告的撰写程序。
封面
封面是报告的第一面窗户,封面页上包含的细节可以不那么明显。但是测试公司的名称、标志以及客户的名称应该突出显示。诸如“内部网络扫描”或“DMZ测试”测试标题也应该在那里,对于相同的客户执行多个测试时,可以避免混淆。测试时间也要写上,随着时间的推移,用户可以清楚的得知他们的安全状况是否得到了改善。另外该封面还应包含文档的密级,并与客户商定如何保密好这份商业上的敏感文件。
内容提要
我见过一些简直像短篇小说一样的内容提要,其实这部分一般要限制在一页纸以内。不要提及任何特定的工具、技术,因为客户根本不在乎,他们只需要知道的是你做了什么,发现了什么,接下来要发生什么,为什么,执行摘要的最后一行应该是一个结论,即明确指出是该系统是安全还是不安全。
举个例子:
一个糟糕的总结:“总之,我们发现一些地方的安全策略运作良好,但有些地方并未遵从。这导致了一定风险,但并不是致命风险。”
一个优秀的总结:“总之,我们发现了某些地方没有遵守安全策略,这给组织带来了一个风险,因此我们必须声明该系统是不安全的。”
漏洞总结
将漏洞列表放在一个页面上,这样,IT经理便可以一目了然的知道接下来要做什么。具体怎样表现出来,形式多样,你可以使用花哨的图形(像表格或图表),只要清晰明了就行。漏洞可以按类别(例如软件问题,网络设备配置,密码策略)进行分组,严重程度或CVSS评分——方法很多,只要工作做得好,很容易理解。
测试团队的详细信息
记录测试过程中所涉及的每一个测试人员的名字,这是一个基本的礼节问题,让客户知道是谁在测试他们的网络,并提供联系方式,以便后续报告中问题讨论。一些客户和测试公司也喜欢依据测试的内容向不同的测试小组分配任务。多一双眼睛,可以从不同的角度查看系统的问题。
工具列表
包括版本和功能的简要描述。这点会涉及到可重复性。如果有人要准确复现您的测试,他们需要确切地知道您使用的工具。
工作范围
事先已经同意,转载作为参考是有用的。
报告主体
这部分才是报告的精华,报告的正文应包括所有检测到的漏洞细节,如何发现漏洞,如何利用漏洞,以及漏洞利用的可能性。无论你做的是什么,都要保证给出一个清晰的解释。我看过无数份报告,都是简单的复制粘贴漏洞扫描的结果,这是不对的。另外报告中还应包括切实贴合的修复建议。
最终交付
在任何情况下任何一份报告应该加密传输。这虽然是常识,但往往大家就会摔倒在最后的这环上。