渗透测试

什么是渗透测试

渗透测试,也称为笔测试,是针对您的计算机系统的一个模拟网络攻击,用于检查可利用的漏洞。在Web应用程序安全性方面,渗透测试通常用于增强Web应用程序防火墙(WAF)。

笔测试可涉及试图破坏任何数量的应用系统(例如,应用协议接口(API),前端/后端服务器)以发现易受代码注入攻击影响的未经处理的输入的漏洞。

渗透测试提供的洞察可用于微调WAF安全策略并修补检测到的漏洞。

渗透测试阶段

笔测试过程可以分为五个阶段。

  1. 计划和侦察

第一阶段涉及:

  • 定义测试的范围和目标,包括要处理的系统和要使用的测试方法。
  • 收集情报(例如网络和域名,邮件服务器)以更好地了解目标的工作方式及其潜在的漏洞。

  1. 扫描

下一步是了解目标应用程序将如何响应各种入侵企图。这通常使用以下方法完成:

  • 静态分析 - 检查应用程序的代码以估计它在运行时的行为方式。这些工具可以一次性扫描整个代码。
  • 动态分析 - 检查处于运行状态的应用程序代码。这是一种更实用的扫描方式,因为它提供了应用程序性能的实时视图。

  1. 获得访问权限

该阶段使用Web应用程序攻击(如跨站点脚本,SQL注入和后门)来发现目标的漏洞。然后测试人员尝试利用这些漏洞,通常通过升级权限,窃取数据,拦截流量等来了解它们可能造成的损害。

  1. 保持访问权限  此阶段的目标是查看是否可以使用此漏洞在被利用的系统中实现持续存在 - 足以让不良行为人获得深入访问权限。这个想法是模仿先进的持续威胁,这些威胁通常会在系统中停留数月,以窃取组织最敏感的数据。
  2. 分析

然后将渗透测试的结果汇编成详细的报告:

  • 被利用的特定漏洞
  • 被访问的敏感数据
  • 笔测试仪能够保留在系统中的时间量未被检测到

安全人员会分析此信息,以帮助配置企业的WAF设置和其他应用程序安全解决方案,以修补漏洞并防止未来的攻击。

渗透测试方法

外部测试

外部渗透测试针对的是公司在互联网上可见的资产,例如,Web应用程序本身,公司网站以及电子邮件和域名服务器(DNS)。目标是获取访问权并提取有价值的数据。

内部测试

在内部测试中,可以在防火墙后面访问应用程序的测试人员模拟恶意内部人员的攻击。这并不一定模拟流氓员工。一种常见的起始情况可能是由于网络钓鱼攻击而导致凭证被盗的员工。

盲测

在盲目测试中,测试人员只能获得目标企业的名称。这使安全人员能够实时了解实际的应用程序攻击将如何发生。

双盲测试

在双盲测试中,安全人员不知道模拟攻击。就像在现实世界中一样,在企图违约之前他们没有时间支撑他们的防御。

有针对性的测试

在这种情况下,测试人员和安保人员一起工作,并彼此评估他们的动作。这是一个有价值的培训练习,从黑客的角度为安全团队提供实时反馈。

渗透测试和WEB应用程序防火墙

渗透测试和WAF是排他性的,但互利的安全措施。

对于许多笔测试(除了盲测和双盲测试),测试人员可能会使用WAF数据(如日志)来查找和利用应用程序的弱点。

反过来,WAF管理员可以从钢笔测试数据中受益。测试完成后,可以更新WAF配置,以防止测试中发现的弱点。

最后,笔测试满足安全审计程序的一些合规性要求,包括PCI DSS和SOC 2。只有通过使用认证的WAF才能满足某些标准,如PCI-DSS 6.6。但是,这样做不会使笔测试变得毫无用处,因为它具有前述的好处,并且能够改进WAF配置。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VTest - 漏洞测试辅助系统

    VTest - 漏洞测试辅助系统用于辅助安全工程师漏洞挖掘、测试、复现,集合了mock、httplog、dns tools、xss,可用于测试各类无回显、无法直...

    周俊辉
  • 韩国最大虚拟币交易平台被黑 约 2 亿元资产被盗

    中新网6月20日电,据韩联社报道,韩国最大虚拟货币交易平台Bithumb遭黑客入侵,约350亿韩元(约合人民币2.04亿元)资产被盗。

    周俊辉
  • 渗透测试中的攻与守

    渗透测试(Penetration Test)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试能够直观...

    周俊辉
  • 什么是渗透测试?

    渗透测试告诉系统上采用的现有防御措施是否足够强大,可以防止任何安全漏洞。渗透测试报告还建议了可以采取的对策,以减少系统被黑客入侵的风险。

    用户7466307
  • 开放源代码与.NET应用程序平台的性能测试

    您的企业或组织采用哪一种应用程序平台架构?不论哪一种,应用程序平台基本上至少都包含了服务器操作系统、Web服务器软件、数据库服务器软件、程序开发语言,有些平台还...

    张善友
  • 针对Memcached缓存服务器的渗透测试方法介绍

    在之前的文章中,我向大家介绍了如何在Ubuntu 18.04上配置Memcached Server,来构建我们自己的渗透测试实验环境。而本文我们将学习多种利用M...

    FB客服
  • 网络编程—tcp

    TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议...

    py3study
  • python 一行代码测量脚本的运行时间

    Python自带了一个叫cProfile的分析器.它不仅实现了计算整个时间,而且单独计算每个函数运行时间,并且告诉你这个函数被调用多少次,它可以很容易的确定你要...

    用户7625070
  • 如何为Nginx 配置SSL证书?

    用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以...

    用户1560186
  • Windows 窗体中的事件顺序

    对于依次处理其中每个事件的开发人员,Windows 窗体应用程序中引发事件的顺序非常具有吸引力。 当出现需要谨慎处理事件的情况时(例如,在重绘窗体的某些部件时)...

    CNXY

扫码关注云+社区

领取腾讯云代金券