ZVulDrill靶场审计

文章详细描述了对ZVulDrill靶场的源代码审计过程,发现了包括文件包含漏洞、反射型和存储型XSS、SQL注入、文件上传漏洞、权限越权以及CSRF在内的多个安全问题。审计工具使用了seay源代码审计系统,通过手动和自动的方式验证了这些漏洞的存在性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ZVulDrill靶场审计笔记

一、实验准备

环境: 虚拟机windows server 2019 、phpstudy 2018(php5.3+apache+mysql)。由于我这里的环境问题,需要更改lib.php中mysql_real_escape_string函数为mysql_escape_string函数。两个函数功能一致,前者需要接受的是一个连接句柄并根据当前字符集转义字符串。

在这里插入图片描述

工具: seay 源代码审计系统、NotePad–

二、ZVulDrill靶场审计

1、使用seay 源代码审计系统自动审计源码

打开seay 源代码审计系统,新建项目选择ZVulDrill靶场源码,开始自动审计
在这里插入图片描述

按照审计结果,逐一验证(自动审计不一定能扫描全,且不一定存在)

2、文件包含漏洞验证

审计结果显示about.php文件中可能存在文件包含漏洞

在这里插入图片描述

$f变量通过GET方法获取,$f变量直接将值传给include包含,中间没有任何过滤。尝试包含测试文件

在这里插入图片描述

成功包含,如果远程包含的话需要打开下面两个选项,这里默认allow_url_include是关闭的

在这里插入图片描述

3、反射型XSS漏洞验证

search.php中直接将GET方法获取的参数echo输出到页面,存在反射型XSS漏洞(这里还发现一个SQL注入,后面会分析)

在这里插入图片描述

在search参数构造XSS语句
在这里插入图片描述

成功弹窗

4、文件上传漏洞

这里文件上传没有做任何的限制

在这里插入图片描述

上传点在用户修改隔热恩信息更换头像位置
在这里插入图片描述

上传的文件保存在images文件夹,这里不会对文件重命名。也可以直接鼠标右键新标签打开图片获得上传文件位置

在这里插入图片描述

5、SQL注入

这里自动审计出来的几处可能存在SQL注入的地方其实是被引号包裹了而且经过了clean_input函数的过滤

在这里插入图片描述

会将特使符号转义,无法闭合引号

  • SQL注入1

在search.php中,发现了一处变量未经过滤直接拼接到SQL语句中

在这里插入图片描述

成功注入得到数据信息

在这里插入图片描述

  • SQL注入2

在logCheck.php中也发现了一处未经过滤直接传入SQL语句中的变量$name

在这里插入图片描述

这里存在SQL注入的是管理员登录的后台地址,普通用户的登录的地方输入变量被clean_input函数转义了特使符号

在这里插入图片描述

可以直接利用SQL注入登录免密登录(万能密码)
在这里插入图片描述
在这里插入图片描述

6、存储型XSS
  • 留言处存在存储型XSS的较常见的一处场景。

这里提交留言到数据库的时候,会通过clean_input函数转义特殊符号但没有对相关字符进行过滤处理,被污染的数据会原样提交到数据库中

在这里插入图片描述
在这里插入图片描述

message.php在从数据库中取出数据显示在留言页面,但这里使用htmlspecialchars函数对显示内容做了html实体编码

在这里插入图片描述
因此这里不存在存储型XSS

  • 注册用户功能存在存储型XSS

虽然注册的用户名被转义了但是mysql_real_escape_string() /mysql_escape_string() 函数并不会转义<、>、/符号

在这里插入图片描述

XSS语句当作用户名写入数据库中,登录后用户名会原样显示在user.php页面中。造成存储型XSS
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、越权

在用户更改用户名的时候是根据POST方法传入的id参数来更改对应的用户名

在这里插入图片描述

只要我们更改用户名时,给该id值就能越权给他他人用户名

登录用户a修改test用户的用户名为testa

在这里插入图片描述

先更改a用户的用户名,让后抓包给该id值为test用户的id值

在这里插入图片描述

成功修改

在这里插入图片描述

7、CSRF

这里更改用户名和更改密码没有对用户提交请求的Referer或token做验证,更重要的是修改密码不需要知道原密码。存在CSRF漏洞

抓到修改密码的包(这里是以GET方法提交的),直接利用burp生成CSRF利用的POC

在这里插入图片描述
在这里插入图片描述

诱导用户访问这个poc链接(我这里burp监听的是8081端口)

在这里插入图片描述

点击按钮即可。修改成功
在这里插入图片描述

在这里插入图片描述

补充:

登录没有验证码,也没有限制登录失败次数,存在暴力破解漏洞。此外还有目录遍历漏洞。

靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值