漏洞扫描技术:对Web应用程序进行漏洞扫描

简介: 漏洞扫描技术:对Web应用程序进行漏洞扫描

漏洞扫描技术:对Web应用程序进行漏洞扫描
Web应用程序最大的威胁还是来自内部代码的威胁,这种威胁主要来源于Web程序开发者在开发过程中出现的失误,或者因为使用了不安全的函数或者组件造成的。由于世界上的Web程序数量极其众多,因而对其进行研究十分复杂。目前国际上对Web安全的权威参考主要来自开放式Web应用程序安全项目(OWASP),它是由Mark Cuphey在2009年创办的,该项目致力于对应用软件的安全研究。zaproxy是世界上很受欢迎的免费安全扫描工具之一,由数百名国际志愿者积极维护它可以帮助我们在开发和测试应用程序时自动查找Web应用程序中的安全漏洞。

1. 实验环境:
OS: Linux kali 5.16 amd64

靶机:Metasploitable2-Linux

2. 安装zaproxy
1. 升级apt-get install

┌──(root💀kali)-[~]
└─# apt-get install update

2. 安装zaproxy

┌──(root💀kali)-[~]
└─# apt-get install zaproxy

image.png

3. 启动zaproxy

┌──(kali㉿kali)-[~]
└─$ zaproxy

启动之后,会询问是否保存进程,以及如何保存,如下图所示:

image.png

在此选择不保存,也就是第三个选项。zaproxy的功能十分完善,在此仅练习它的扫描功能。启动之后的zaproxy页面如下图:

image.png

4. 通过ZAP打开浏览器
在zaproxy的右上角提供了浏览器的快捷按钮,点击这里打开浏览器可以通过人工操作的形式完成认证、访问等操作。如下图所示:

image.png

5. 访问靶机(metasploitable2)的dvwa地址,并输入用户名和密码完成登录
image.png

6. 进入DVWA页面调整DVWA Security 为low并提交
image.png

点击左侧SQL Injection,在右侧User ID填1提交,然后返回zaproxy页面发现左侧树状结构图中多了一些dvwa的一些页面,如下图所示:

image.png
image.png

注意:对于Web页面来说,它的漏洞往往分布在各个页面中,也就说我们需要分页面对其进行扫描。

鼠标右键点击上图红框内,点击Attack再点击Active Scan…,如下图所示:

image.png

如下图所示:点击Alerts就可以看到扫描结果了

image.png

从上图中可以看到当前页面存在SQL注入漏洞。同样的方法也可以扫描其他页面存在的漏洞。

7. 代码审计
除了这种扫描方式之外,还有一种代码审计方法。两者的区别注意在于扫描时是不知道目标Web应用程序代码的,相当于黑盒测试;而代码审计时是知道Web应用程序代码,可以看作白盒测试。如果在网络上找到dvwa的代码文件,就可以对其进行代码审计了。目前市面上既有价格昂贵的商业版代码审计工具,也有免费的审计工具。现选一款简单而免费的开源工具RIPS。RIPS是一款用PHP开发的开源的代码审计工具,程序很小,但是对PHP语法分析非常精准。

首先进入官网下载rips的压缩包,如下图所示:
image.png

点击下图所示板块(Download + Installation)中的“here”,进入下载页面,点击下载rips的压缩包。

image.png

本实验,下载到/home/kali/Downloads/文件夹中,对其解压,解压后将其复制到apache的工作目录中,命令如下:

┌──(kali㉿kali)-[~]
└─$ sudo cp -r /home/kali/Downloads/rips-0.55 /var/www/html/

然后重启apche2服务,命令如下:

┌──(kali㉿kali)-[~]
└─$ service apache2 start

然后访问http://127.0.0.1/rips-0.55/index.php或者http://127.0.0.1/rips-0.55/rips-0.55/index.php就可以打开rips了,具体要查看里面的目录如下图所示:
image.png

将下载的dvwa解压之后放置在/home/kali/Downloads/中,然后在path/file中选择中dvwa所在的目录,如下图所示:

image.png

单击scan,得到扫描结果,如下图所示:

image.png

图中每个部分都有超级链接,如果单击链接就可以看到里面详细内容,例如点击File Inclusion就可以看到产生该问题的页面和代码, 如下图所示:

image.png

相关文章
|
5天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
17 6
|
25天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
44 1
|
29天前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
51 2
|
1月前
|
数据可视化 数据库 开发者
使用Dash构建交互式Web应用程序
【10月更文挑战第16天】本文介绍了使用Python的Dash框架构建交互式Web应用程序的方法。Dash结合了Flask、React和Plotly等技术,让开发者能够快速创建功能丰富的数据可视化应用。文章从安装Dash开始,逐步介绍了创建简单应用程序、添加交互元素、部署应用程序以及集成更多功能的步骤,并提供了代码示例。通过本文,读者可以掌握使用Dash构建交互式Web应用程序的基本技巧和高级功能。
44 3
|
2月前
|
人工智能 前端开发
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
|
2月前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
39 2
|
2月前
|
机器学习/深度学习 移动开发 JavaScript
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
200 0
|
2月前
|
自然语言处理 Cloud Native 数据安全/隐私保护
后端技术在现代Web开发中的实践与创新
本文探讨了后端技术在现代Web开发中的重要性及其应用。通过分析当前流行的后端框架和开发模式,揭示了如何利用这些技术来构建高效、可扩展的Web应用程序。同时,文章也讨论了未来后端技术的发展趋势,为开发者提供了一些启示。
|
29天前
|
监控 前端开发 JavaScript
前端技术探索:构建高效、可维护的Web应用
【10月更文挑战第23天】前端技术探索:构建高效、可维护的Web应用
43 0
|
2月前
|
存储 前端开发 JavaScript
CSS:现代Web设计的不同技术
【10月更文挑战第11天】 CSS:现代Web设计的不同技术