百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

技术分享——安全测试内容及常用的11款测试工具

zhezhongyun 2024-12-16 17:33 74 浏览

文末有常用的11款测试工具,需要的直接拉至文末自取。

1 . 安全测试内容(WEB)

一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。

a)部署与基础结构

  • 网络是否提供了安全的通信
  • 部署拓扑结构是否包括内部的防火墙
  • 部署拓扑结构中是否包括远程应用程序服务器
  • 基础结构安全性需求的限制是什么
  • 目标环境支持怎样的信任级别

b)输入验证

  • 是否清楚入口点
  • 是否清楚信任边界
  • 是否验证Web页输入
  • 是否对传递到组件或Web服务的参数进行验证
  • 是否验证从数据库中检索的数据
  • 是否将方法集中起来
  • 是否依赖客户端的验证
  • 应用程序是否易受SQL注入攻击
  • 应用程序是否易受XSS攻击
  • 如何处理输入

c)身份验证

  • 是否区分公共访问和受限访问
  • 是否明确服务账户要求
  • 如何验证调用者身份
  • 如何验证数据库的身份
  • 是否强制试用账户管理措施

d)授权

  • 如何向最终用户授权
  • 如何在数据库中授权应用程序
  • 如何将访问限定于系统级资源

e)配置管理

  • 是否支持远程管理
  • 是否保证配置存储的安全
  • 是否隔离管理员特权

f)敏感数据

  • 是否存储机密信息
  • 如何存储敏感数据
  • 是否在网络中传递敏感数据
  • 是否记录敏感数据

g)会话管理

  • 如何交换会话标识符
  • 是否限制会话生存期
  • 如何确保会话存储状态的安全

h)加密

  • 如何使用特定的算法
  • 如何确保加密密钥的安全性

i)参数操作

  • 是否验证所有的输入参数
  • 是否在参数过程中传递敏感数据
  • 是否为了安全问题而使用HTTP头数据

j)异常管理

  • 是否使用结构化的异常处理
  • 是否向客户端公开了太多的信息

k)审核和日志记录

  • 是否明确了要审核的内容
  • 是否考虑如何流动原始调用者身份


2 . 应用及传输安全

WEB应用系统的安全性从使用角度可以分为应用级的安全与传输级的安全,安全性测试也可以从这两方面入手。应用级的安全测试的主要目的是查找Web系统自身程序设计中存在的安全隐患,主要测试区域如下。


3 . 注册与登陆

现在的Web应用系统基本采用先注册,后登录的方式。

  • 必须测试有效和无效的用户名和密码
  • 要注意是否存在大小写敏感
  • 可以尝试多少次的限制
  • 是否可以不登录而直接浏览某个页面等


4 . 在线超时

Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。


5 . 操作留痕

为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。


6 . 备份与恢复

为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。


7 . 传输

传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。


8 . HTTPS和SSL测试

默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确、检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。


9 . 服务器端的脚本漏洞检查

存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。


10 . 防火墙测试

防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。




下面给大家安利一些好用的测试工具,包括安全测试和渗透测试。

一、安全测试工具

1. AppScan

一款安全漏洞扫描工具,支持Web端和移动端,它相当于是"探索"和"测试"的过程,最终生成很直观的测试报告,有助于研发人员对漏洞进行分析和修复。

官网:https://www.ibm.com/developerworks/downloads/r/appscan/

参考:https://www.cnblogs.com/benpao1314/p/8065720.html


2. Acunetix

一款网络漏洞扫描软件,它可以检测网络的安全漏洞。

官网:https://www.acunetix.com/


3. Nmap

一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。

官网:https://nmap.org/

参考:https://blog.csdn.net/m0_37268841/article/details/80404613


4. OpenVAS

一个开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。OpenVas服务端只允许安装在Linux系统上。

官网:http://www.openvas.org/

参考:https://www.freebuf.com/column/158357.html


5. msfvenom

参考:https://www.offensive-security.com/metasploit-unleashed/msfvenom/


6. fortify

静态代码检查工具

官网:http://www.fortify.net/README.html

参考:https://www.cnblogs.com/eyesmoon/p/7421477.html

参考:https://www.freebuf.com/sectool/95683.html


7. Drozer

MWR Labs开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一。

官网:https://labs.mwrinfosecurity.com/publications/

参考:https://www.cnblogs.com/lsdb/p/9441813.html


8. nessus

一款号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一。

官网:https://www.tenable.com/downloads/nessus

参考:https://www.cnblogs.com/cheyunhua/p/8084459.html


9. zap

OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,由数百名国际志愿者积极维护。它可以帮助在开发和测试应用程序时自动查找Web应用程序中的安全漏洞。

官网:https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

参考:https://www.fujieace.com/kali-linux/owasp-zed-zap.html


二、渗透测试工具

1. Burp Suite

一款信息安全从业人员必备的集成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了 Proxy、Spider、Scanner、Intruder、Repeater、Sequencer、Decoder、Comparer等工具模块;Proxy功能可以拦截HTTP/S的代理服务器(手机和web);Spide功能是智能感应的网络爬虫;Intruder功能可以对web应用程序进行自动化攻击等,非常适合做安全测试。通过拦截HTTP/HTTPS的web数据包,充当浏览器和相关应用程序的中间人,进行拦截、修改、重放数据包进行测试,是Web安全人员的一把必备的瑞士军刀。

官网:https://portswigger.net/burp/

参考:https://www.cnblogs.com/nieliangcai/p/6692296.html


2. sqlmap

一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。

官方网站:http://sqlmap.org/

下载地址:https://github.com/sqlmapproject/sqlmap/zipball/master

演示视频:https://asciinema.org/a/46601

教程:http://www.youtube.com/user/inquisb/videos

参考:https://www.freebuf.com/sectool/164608.html

相关推荐

perl基础——循环控制_principle循环

在编程中,我们往往需要进行不同情况的判断,选择,重复操作。这些时候我们需要对简单语句来添加循环控制变量或者命令。if/unless我们需要在满足特定条件下再执行的语句,可以通过if/unle...

CHAPTER 2 The Antechamber of M de Treville 第二章 特雷维尔先生的前厅

CHAPTER1TheThreePresentsofD'ArtagnantheElderCHAPTER2TheAntechamber...

CHAPTER 5 The King'S Musketeers and the Cardinal'S Guards 第五章 国王的火枪手和红衣主教的卫士

CHAPTER3TheAudienceCHAPTER5TheKing'SMusketeersandtheCardinal'SGuard...

CHAPTER 3 The Audience 第三章 接见

CHAPTER3TheAudienceCHAPTER3TheAudience第三章接见M.DeTrévillewasatt...

别搞印象流!数据说明谁才是外线防守第一人!

来源:Reddit译者:@assholeeric编辑:伯伦WhoarethebestperimeterdefendersintheNBA?Here'sagraphofStea...

V-Day commemorations prove anti-China claims hollow

People'sLiberationArmyhonorguardstakepartinthemilitaryparademarkingthe80thanniversary...

EasyPoi使用_easypoi api

EasyPoi的主要特点:1.设计精巧,使用简单2.接口丰富,扩展简单3.默认值多,writelessdomore4.springmvc支持,web导出可以简单明了使用1.easypoi...

关于Oracle数据库12c 新特性总结_oracle数据库12514

概述今天主要简单介绍一下Oracle12c的一些新特性,仅供参考。参考:http://docs.oracle.com/database/121/NEWFT/chapter12102.htm#NEWFT...

【开发者成长】JAVA 线上故障排查完整套路!

线上故障主要会包括CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题...

使用 Python 向多个地址发送电子邮件

在本文中,我们将演示如何使用Python编程语言向使用不同电子邮件地址的不同收件人发送电子邮件。具体来说,我们将向许多不同的人发送电子邮件。使用Python向多个地址发送电子邮件Python...

提高工作效率的--Linux常用命令,能够决解95%以上的问题

点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...

linux常用系统命令_linux操作系统常用命令

系统信息arch显示机器的处理器架构dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/s...

小白入门必知必会-PostgreSQL-15.2源码编译安装

一PostgreSQL编译安装1.1下载源码包在PostgreSQL官方主页https://www.postgresql.org/ftp/source/下载区选择所需格式的源码包下载。cd/we...

Linux操作系统之常用命令_linux系统常用命令详解

Linux操作系统一、常用命令1.系统(1)系统信息arch显示机器的处理器架构uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系...

linux网络命名空间简介_linux 网络相关命令

此篇会以例子的方式介绍下linux网络命名空间。此例中会创建两个networknamespace:nsa、nsb,一个网桥bridge0,nsa、nsb中添加网络设备veth,网络设备间...