安全测试方法介绍(下)渗透测试

安全主要测试方法主要有:静态源代码审查,这个在编码阶段就可以进行,这个阶段如果出现问题,修复起来成本也比较低。程序发布之后可以进行渗透测试。前面的文章中我们为大家介绍了静态源代码审查的方法和策略,接下来本文继续为大家讲解渗透测试。 

【渗透测试】
渗透测试是通过模拟恶意攻击者攻击,来评估系统安全的一种评估方法,从攻击的角度测试软件系统是否安全。使用自动化工具或者人工的方法模拟攻击者的输入,找出运行时刻目标系统所存在的安全漏洞。通过渗透测试可以发现逻辑风险、程序风险、系统风险,像越权访问、文件上传漏洞、目录遍历等问题。
下面是渗透测试部分内容:
【身份鉴别管理测试】
用户注册过程,弱用户名等
【错误配置导致的漏洞】
这些是通过互联网提供内部服务和文档,使用“admin”和“user”等默认凭据的情况
【弱身份验证】
弱密码,密码重用等
【授权测试】
授权绕过测试,权限提升测试等
【会话固定、会话超时测试等】
【业务逻辑测试】
恶意文件上传,请求伪造等
下图是渗透测试的测试流程:首先针对我们的业务系统会制定一个测试方案、确定测试的场景。然后开始信息收集,比如网站的相关信息、登陆的相关信息。接下来通过渗透测试,会发现一些漏洞,进行信息反馈。反馈之后,提升权限再次进行测试,发现系统中的安全漏洞。
 


下图是渗透测试的一个漏洞说明,两个截图中的提示文字都是有问题的。左图提示该用户密码错误,请确认后再登陆。右图提示该用户不存在,请确认后再登陆。

这样的提示会很明确地告诉黑客哪部分是错误的,会降低黑客的爆破难度。应该提示“用户名或密码不正确,请确认后再登录”,让黑客不清楚到底错在哪里。

下图是任意文件上传的漏洞,我们看到上传文件的时候,可以上传一个脚本文件,这个脚本文件还可以在这个网站中打开。这其中存在好几个问题,第一个是文件类型没有进行限制,第二个是用户上传文件的路径是不可以执行的,有的甚至都要求不可读。

任意文件上传加固建议:建议服务端通过白名单的方式限制上传文件类型。
软件安全测试为了避免因为系统自身漏洞给客户、公司集团带来损失;为了数据安全;为了防范黑客而做的测试。
开发人员在想尽一切办法确保(网站,系统)发布时,往往很难构建安全的系统。一个小的配置或部署错误就会破坏整个系统的安全性。系统中会有许多攻击点留给黑客们享用。
一旦发布出去的系统有漏洞,那有可能对用户和公司信誉造成巨大的损失。因此软件安全测试非常重要,是推动安全开发的重要保障措施。

(本系列文章根据《优品软件培育计划》公益直播内容整理,可以私信我获取直播回放链接。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21121.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式应用之zookeeper集群+消息队列Kafka

一、zookeeper集群的相关知识 1.zookeeper的概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能…

Leaflet Ant Path(水系流动效果)

一、源代码&#xff1a; 用leaflet库中的Leaflet.AntPath插件 将通量动画&#xff08;如蚂蚁行走&#xff09;放入折线中 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><…

Mac搭建安卓模拟器(支持M1/M2)

引言 最近在研究Vue打包成app&#xff0c;给我的报价器搞一个移动端&#xff0c;奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 1. 简单版&#xff08;仅M系&#xff09;…

前端工程化与webpack

一、目标 能够说出什么是前端工程化能够说出webpack的作用能够掌握webpack的基本使用了解常用plugin的基本使用了解常用loader的基本使用能够说出Source Map的作用 二、目录 前端工程化webpack的基本使用webpack中的插件webpack中的loader打包发布Source Map 1.前端工程化 …

UDP数据报套接字编程

目录 一、DatagramSocket API 1.1、DatagramSocket构造方法 1.2、DatagramSocket方法 二、DatagramPacket API 2.1、DatagramPacket构造方法 2.2、DatagramPacket方法 三、示例 实现字典查询器 一、DatagramSocket API DatagramSocket是UDP Socket,用于发送和接收U…

⌈C++⌋深度剖析构造、拷贝构造与赋值运算符重载——深浅拷贝、explicit、类型转换等

目录 一、认识拷贝构造函数 1、什么是拷贝构造 2、深拷贝与浅拷贝 3、编译器可以绕过拷贝构造函数&#xff08;C Primer P442&#xff09; 4、explicit修饰 二、认识赋值运算符重载 1、赋值运算符重载格式 2、默认赋值运算符重载 3、赋值运算符都必须定义为成员函数 …

【简单认识LVS+Keepalived负载均衡高可用群集】

文章目录 一、Keepalived高可用详解1、简介2、原理3、Keepalived体系主要模块及其作用&#xff1a; 二、LVSKeepalived 高可用群集部署实例1.配置NFS共享存储器2.配置节点web服务&#xff08;两台的配置相同&#xff09;&#xff08;1&#xff09;配置虚拟 IP 地址&#xff08;…

Java中Map中10w条数据用什么循环性能最好呢?

加油&#xff0c;新时代打工人&#xff01; 1、java中List集合三种获取集合元素方式 2、Java中Map使用增强for循环和迭代器获取key和value 选择合适的循环方式&#xff0c;让性能最优&#xff01; public class Test2 {public static void main(String[] args) {//初始化 10w…

如何获取铁粉

忽然发现我的铁粉从100变成了540&#xff0c;分享下我的经验&#xff0c;我觉得可能是我的机器人经常互动的问题&#xff0c;结合自己的看法和平台大佬的想法一些进行了梳理&#xff1a; 在当今社交媒体时代&#xff0c;吸引和保留铁粉&#xff08;忠实粉丝&#xff09;对于个…

面试题更新之-DOCTYPE html相关问题

文章目录 <!DOCTYPE html>是什么&#xff1f;为什么要在html文件开头加上一个<!DOCTYPE html>DOCTYPE的作用&#xff0c;严格与混杂模式的区别&#xff0c;有何意义HTML5为什么只需要写<!DOCTYPE HTML> 是什么&#xff1f; 是HTML文档的文档类型声明&#xf…

实战攻防之积极防御体系建设 | 中睿天下受邀参与诸子云沙龙

7月8日&#xff0c;中睿天下受邀参与由诸子云举办的“网络与数据安全”主题沙龙&#xff0c;中睿天下技术经理徐丹丹就《实战攻防之积极防御体系建设》这一主题进行了分享交流。 本次沙龙由南京分会会长宋士明主持&#xff0c;活动邀请到BASF、江苏省联社、华泰证券、宁证期货、…

【kubernetes系列】Kubernetes之ServiceAccount

概述 Service Account是什么呢&#xff0c;顾名思义&#xff0c;服务账号&#xff0c;一种给服务使用的账号&#xff0c;它不是给Kubernetes的集群的用户&#xff08;系统管理员、运维人员、租户用户等&#xff09;使用&#xff0c;而是给运行在Pod里的进程用的&#xff0c;它…