我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么进行Web渗透测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么进行Web渗透测试

今天小编给大家分享一下怎么进行Web渗透测试的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。

如果说安全检测是“横向地毯式自动化扫描”,那么渗透测试就是“纵向深度人工化入侵”。

可见渗透测试的目的是发现目标系统潜在的业务漏洞风险。

安全问题都体现在输入输出的问题上,能够分析数据流就有迹可循了。先知道渗透测试的流程,用工具找到漏洞,了解并且复现它。

如何进行Web渗透测试?

完整web渗透测试框架

当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。

怎么进行Web渗透测试

立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;

系统分析&威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;

制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;

测试执行&漏洞挖掘:测试用例执行&发散测试,挖掘对应的安全问题or漏洞;

问题修复&回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;

项目总结评审:项目过程总结,输出文档评审,相关文档归档。

Web应用的渗透测试流程

主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:

一、信息收集

在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等

脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等

测试方法:

1 爬取网站所有链接,查看后缀

2 直接访问一个不存在页面后面加不同的后缀测试

3 查看robots.txt,查看后缀

服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等

测试方法:

1 查看header,判断服务器类型

2 根据报错信息判断

3 根据默认页面判断

目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。

测试方法

1 使用字典枚举目录

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。

测试方法

指纹识别(网络上有很多开源的指纹识别工具)

数据库类型:对于不同的数据库有不同的测试方法。

测试方法

1 使应用程序报错,查看报错信息

2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)

所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。

测试方法

1 使用字典枚举页面

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。

测试方法

指纹识别(网络上有很多开源的指纹识别工具)

二、漏洞发现

在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。

关于开源软件的漏洞发现

开源的软件:常见的开源软件有wordpress、phpbb、dedecms等

开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等

中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等

数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等

对于开源软件的测试方法

1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试

2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作

3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan

关于自主开发的应用

手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作

软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等

可能存在的漏洞

Owasp关键点

代码安全之上传文件

代码安全之文件包含

代码安全之SSRF

逻辑漏洞之密码重置

逻辑漏洞之支付漏洞

逻辑漏洞之越权访问

平台安全之中间件安全

三、漏洞利用

针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试

手工测试

手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种方法高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。

这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用。

工具测试

网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。

以上就是“怎么进行Web渗透测试”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么进行Web渗透测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么进行Web渗透测试

今天小编给大家分享一下怎么进行Web渗透测试的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。渗透测试,是渗透测试工程师完全模拟
2023-06-05

利用drozer进行Android渗透测试

一、安装与启动1. 安装第一步:从http://mwr.to/drozer下载Drozer (Windows Installer)第二步:在Android设备中安装agent.apkadb install agent.apk2. 启动第一步
2022-06-06

Web应用渗透测试框架Arachni

Web应用渗透测试框架Arachni
2023-06-04

轻量级Web渗透测试工具jSQL

轻量级Web渗透测试工具jSQLjSQL是Kali集成的一款轻量级的Web渗透测试工具。最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具。Kali提供的版本较老,并且无法自动更新。用户需要手动从代码
2023-06-04

sql注入渗透测试怎么做

SQL注入渗透测试是一项重要的安全措施,通过识别和修复系统中的漏洞来降低攻击风险。该过程涉及:识别目标、构造注入查询、注入数据、分析响应、利用漏洞、修复和缓解措施,以及报告和记录。最佳实践包括使用自动化工具、维护黑名单和白名单,以及保持最新信息。通过遵循这些步骤并实施最佳实践,组织可以有效保护他们的数据和系统免受SQL注入攻击。
sql注入渗透测试怎么做
2024-04-14

如何利用Go语言进行高效渗透测试

利用 go 语言进行高效渗透测试:下载并安装 go:https://go.dev/dl/创建 go 项目:go mod init my-penetration-testing-tool安装依赖项:go get github.com/proj
如何利用Go语言进行高效渗透测试
2024-04-04

springboot渗透测试流程是什么

Spring Boot渗透测试流程包括以下步骤:1. 信息收集:收集有关目标应用程序的信息,包括应用程序架构、技术堆栈、网络拓扑等。2. 漏洞扫描:使用渗透测试工具(如Burp Suite、Nessus等)对目标应用程序进行扫描,发现潜在的
2023-09-14

美国服务器渗透测试怎么实现

美国服务器渗透测试通常需要遵循以下步骤来实现:收集目标服务器信息:首先需要了解目标服务器的IP地址、操作系统、开放端口等基本信息,可以通过网络扫描工具如Nmap进行信息收集。漏洞探测:使用漏洞扫描工具如OpenVAS或Nessus对目标服务
美国服务器渗透测试怎么实现
2024-04-09

Android渗透测试的方法是什么

Android渗透测试方法包括以下几个步骤:1. 信息收集:对目标应用进行分析和了解,包括应用版本、权限、配置文件等信息,以及对目标设备进行调查和收集相关信息。2. 漏洞探测:通过对应用的源代码、配置文件以及网络流量进行分析,寻找应用中可能
2023-08-25

美国服务器渗透测试怎么实现

美国服务器渗透测试实施收集目标服务器信息,使用工具识别漏洞。利用漏洞获取控制权,提权扩大访问范围。后渗透阶段收集证据,渗透网络寻找额外漏洞。撰写报告,与组织沟通并协助补救。针对美国服务器的渗透测试包括特殊考虑因素:法律法规、道德规范、网络安全意识、合规性以及云计算。渗透测试者应遵守最佳实践并了解这些因素,以有效识别和解决漏洞,增强网络安全性。
美国服务器渗透测试怎么实现
2024-04-08

Go语言在渗透测试领域的可行性分析

go语言在渗透测试中的潜力在于其高效性、并发性、类型安全性,以及标准库提供的便利。它被用于开发漏洞扫描器(如“gowitness”)、网络攻击工具(如“nmap”的 go 语言版本)和攻击框架(如“sqlmap”),为渗透测试提供了灵活性、
Go语言在渗透测试领域的可行性分析
2024-04-03

美国服务器高级渗透测试有什么优点

美国服务器高级渗透测试的优势:提高安全性,降低攻击风险满足合规要求,增强信任减少业务中断,降低成本提升竞争优势,增加收入全面评估漏洞,模拟真实攻击提供详细报告,优先级排序风险具备行业专业知识,采用最佳实践提供持续监控,及时通知安全问题定制服务,持续改进安全态势
美国服务器高级渗透测试有什么优点
2024-04-13

美国服务器高级渗透测试有什么优点

美国服务器高级渗透测试的优点包括:可以发现服务器系统中的潜在安全漏洞和弱点,帮助组织及时修复并加强安全防护措施。可以评估服务器系统的安全性,帮助组织了解自身的安全风险和安全水平,制定有效的安全策略和措施。可以提高组织对服务器系统的保护意识和
美国服务器高级渗透测试有什么优点
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录