网站渗透测试报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
____________________________
电子信息学院渗透测试课程实验报告____________________________
实验名称:________________________
实验时间:________________________
学生姓名:________________________
学生学号:________________________
目录
第1章概述
.测试目的
通过实施针对性的渗透测试,发现XXXX网站系统的安全漏洞,保障XXX业务系统安全运行。
.测试范围
根据事先交流,本次测试的范围详细如下:
.数据来源
通过漏洞扫描和手动分析获取相关数据。
第2章详细测试结果
.测试工具
根据测试的范围,本次渗透测试可能用到的相关工具列表如下:
.测试步骤
预扫描
通过端口扫描或主机查看,确定主机所开放的服务。来检查是否有非正常的服务程序在运行。
工具扫描
主要通过Nessus进行主机扫描,通过WVS进行WEB扫描。通过Nmap进行端口扫描,得出扫描结果。三个结果进行对比分析。
人工检测
对以上扫描结果进行手动验证,判断扫描结果中的问题是否真实存在。
其他
根据现场具体情况,通过双方确认后采取相应的解决方式。
.测试结果
本次渗透测试共发现2个类型的高风险漏洞,1个类型的低风险漏洞。这些漏洞可以直接登陆web管理后台管理员权限,同时可能引起内网渗透。获取到的权限如下图所示:可以获取web管理后台管理员权限,如下步骤所示:
通过SQL盲注漏洞获取管理员用户名和密码hash值,并通过暴力破解工具破解得到
root用户的密码“mylove1993.”
利用工具扫描得到管理后台url,使用root/mylove1993.登陆后台如图:
跨站脚本漏洞
风险等级:
高
漏洞描述:
攻击者可通过该漏洞构造特定带有恶意Javascript代码的URL并诱使浏览者点击,导致浏览者执行恶意代码。
漏洞位置:
&page=324
变量:page
变量:kd
变量:kd
变量:num、psd
漏洞验证:
以其中一个XSS漏洞利用示范为例,在浏览器中输入:
&&page=324%27%22%28%29%26%25%3C/span%3E%3CScRiPt%20%3Eprompt%%29%3C/ScRiPt%3E%
3Cspan%3E
结果如图:
修复建议:
对传入的参数进行有效性检测,应限制其只允许提交开发设定范围之内的数据内容。要解决跨站脚本漏洞,应对输入内容进行检查过滤,对输出内容的特定字符转义后输出,可采取以下方式:
在服务器端对所有的输入进行过滤,限制敏感字符的输入。
对输出进行转义,尤其是< > ( ) & # 这些符号。
<和>可以转义为 <和 >。
(和) 可以转义为(和 )。
#和& 可以转义为#和 &。
盲注
风险等级:
高
漏洞描述:
系统中测试页面中存在SQL注入漏洞,攻击者可通过该漏洞查看、修改或删除数据库条目和表以获取敏感信息。
漏洞位置:
&psd=1&Submit3=%bf%aa%ca%bc%b2%e9%d1%af
变量:num
漏洞验证:
如下图所示,参数num存在UNION query类型的盲注:
利用工具列出数据库名
利用工具列出数据库hnrllb中的表名
利用工具列出表admin中的列名
利用工具列出表admin中id、username、truename和password字段内容
整改建议:
过滤(' " select update or and )等特殊符号或者使用preparestatement函数,直接删除该测试页面,或部署web应用防护设备。
管理后台
风险等级:
低
漏洞描述:
攻击者可通过工具或者人工猜解,获取管理后台url地址。
漏洞位置:
漏洞验证:
在浏览器中输入
结果如图:
整改建议:
修改管理后台url。
.实验总结
通过本次渗透测试发现新网站系统存在的薄弱环节较多,后续完全修复工作量较大:
1. 应用系统在正式部署上线前应在内网先进行安全测试,通过安全测试后再放至公网;
2 应用系统在开发过程中,应考虑网站应具备的安全功能需求,如:登录框的验证码机制、口令的复杂度限制、口令的加密传输、后台管理页面限定IP访问及上传功能安全机制等方面;
3. 建立统一、切实可用的的基础环境规范并落实,如:中间件的安装部署基线、操作系统的安装部署基线等;
4. 部署网站防篡改及网页防火墙系统,保护DMZ区域内的所有WEB网站。