web安全测试必须注意的五个方面
随着互联网的飞速发展,web应用在软件开发中所扮演的角色变得越来越重要,同时,web应用遭受着格外多的安全攻击,其原因在于,现在的网站以及在网站上运行的应用在某种意义上来说,它是所有公司或者组织的虚拟正门,所以比较容易遭受到攻击,存在安全隐患。
今天主要给大家分享下有关安全测试的一些知识点以及注意事项。
一、安全测试的验证点
一个系统的安全验证点包括上传功能、注册功能/登陆功能、验证码功能、密码、敏感信息泄露、越权测试、错误信息、session等。
1、上传功能
上传中断,程序是否有判断上传是否成功
上传与服务器端语言(jsp/asp/php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行
2、注册功能/登陆功能
请求是否安全传输
重复注册/登陆
关键cookie是否httponly
会话固定:利用session的不变机制,获取他人认证和授权,然后冒充
3 、验证码功能
短信轰炸
验证码一次性
4、 忘记密码
通过手机号/邮箱找回
程序设计不合理,导致可以绕过短信验证码,从而进行修改(使用burpsuite抓包,修改响应值true)
5 、敏感信息泄漏
- 数据库/日志/提示
6 、越权测试
不登陆系统,直接输入下载文件的URL是否可以下载/直接输入登录后页面的URL是否可以访问
手动更改URL中的参数值能否访问没有权限访问的页面
不同用户之间session共享,可以非法操做对方的数据
7 、错误信息
- 错误信息中释放含有sql语句,错误信息以及web服务器的绝对路径
8、 Session
- 退出登陆后,点击后退按钮是否能访问之前的页面
主要归结为以下几点:(后期可以优化成一个安全测试的框架结构)
- 部署与基础结构
- 输入验证
- 身份验证
- 授权
- 配置管理
- 敏感数据
- 会话管理
- 加密
- 参数操作
- 异常管理
- 审核和日志安全,
二、结合实际情况(现有系统)发现的问题
1、日志/提示
在系统的初期,一般比较容易发现的问题就是在进行一些错误或者反向测试时,在页面的提示中会出现带有明显的数据库的表或者字段的打印,或者会出现一些敏感词,日志里面类似密码,卡号,身份证号没有相应的明密文转换,而这些敏感词/明密文不互转的存在,就会导致攻击者能够获取到,从而进行简单粗暴的攻击,轻易的攻击服务器或者数据库,这就会危害到整个系统!
2、重复性
大部分的web网站都会有注册功能,而类似我们负责支付这块也都会有开户,就注册跟开户,基本上需求上都会有唯一性的校验,在前端就会进行拦截,但如果使用jmter进行参数以及参数值的新增,有可能新增成功,就会导致页面系统里面会出现相同数据,可能导致整个功能的出错。
3、次数限制
类似发单,登录或者短信,如果没有进行相应的限制,如短信,没有进行限制次数,攻击者就会通过短信轰炸,攻击系统,导致系统瘫痪,其他客户就会使用不了该系统。
4、越权测试
(基本上大部分系统都没有明确的写出越权方面的需求)一个web系统,一般地址栏都会有参数的带入,如:用户号,订单号或者是其他的一些参数,而在这个基础上一个系统都会有很多用户,或者很多等级,如:A大于B大于C,那我使用C用户进行登录,查看C用户所属的订单,在地址栏中会有订单号的参数带入,如果系统没有进行相应的限制,此时C用户就可以修改订单号从而可以看到B乃至A用户的数据,这就可能导致数据的泄露,再者,如果可以修改用户的用户号,没有做处理,这样就可以对所有数据进行操作,整个系统就乱了,影响很大。
5、SQL注入/XSS攻击
主要是输入框的校验/拦截以及是否转义,如果没有系统没有对输入的内容进行处理,那攻击者就可以输入一段SQL语句,或者一段代码,在后台进入到相应的功能,就会导致整个功能是错乱的,其他正常用户所提交的数据也查看操作不了,或者提交的代码是死循环(">),就会关闭不掉,所以这点是非常重要的。
基本上上述的五点都是在测试中,系统真实存在,发生的问题,还有其他问题就不一一例举了,其中越权跟SQL注入以及XSS攻击都是重中之重!
三、克服的小困难
上面所述的都是需要人工进行手动参与,且人力操作时不会那么饱满全面,所以这是一个遇到的小问题。现在有一个针对web系统进行漏洞扫描的工具:AWVS,它通过网络爬虫测试你的网站安全,检测流行安全漏洞,针对漏洞主要分为四个等级:高危、中危,低危以及优化,它会进行内外链接的安全性,文件是否存在以及传输是否安全,也包含SQL注入跟XSS攻击,输入地址,用户名密码后,进行扫描完成后会展示相应的数据:漏洞的数量,漏洞的描述,建议性的修复;扫描网站的时长,文件数据量,环境信息等,较为全面!
四、安全测试的思路跟框架
主要根据以下六点来实现一个较为完整的安全测试的思路,框架就是根据半手工、半自动来实现整个系统的验证。
- 部署与基础结构
- 输入验证
- /身份验证(权限验证)
- 敏感数据
- 参数操作
- 审核和日志安全;
五、目前存在的问题/需要优化的
现在的安全测试大多是半手工、半自动化,但都不是专业级,所以还在摸索阶段,只能尽可能地去发现系统中存在的漏洞,且测试理论很难适用于安全领域;
安全测试基础理论薄弱,当前测试方法缺少理论指导,也缺乏更多的技术产品工具 ;
安全测试需要对系统所采用的技术以及系统的架构等进行分析,这方面也是较为薄弱的环节!
转载于:https://www.cnblogs.com/wang001/p/11207067.html
web安全测试必须注意的五个方面相关推荐
- 全国大学生软件测试大赛Web应用测试(五)Jmeter性能测试环境配置
全国大学生软件测试大赛Web应用测试(五)Jmeter性能测试环境配置 web应用测试环境配置所需资料链接 JMeter客户端下载 Badboy客户端下载 web应用测试环境配置所需资料链接 JMet ...
- web可用性测试_Web开发人员和设计人员的最佳可用性测试工具
web可用性测试 UX design is incomplete without user testing, which is an integral part of the process. It' ...
- asp.net core系列 67 Web压力测试工具WCAT
asp.net core系列 67 Web压力测试工具WCAT 原文:asp.net core系列 67 Web压力测试工具WCAT 一.介绍 最近搭建了一套CQRS框架,需要在投入开发前,进行必要的 ...
- Kali Linux Web 渗透测试秘籍 第二章 侦查
第二章 侦查 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 在每个渗透测试中,无论对于网络还是 Web 应用,都有一套流程.其中需要 ...
- Web页面测试和接口测试的区别在哪?
01 为什么离职? 这个根据自己的实际情况说明,列如: 公司节奏较慢,职业遇到瓶颈,没有什么成长和进步 出于长远发展和家庭规划的原因,打算在XX城市定居,所以离开了 02 非这个专业为什么做软件测试? ...
- Web渗透测试知识星球情况介绍
Web渗透测试知识星球学习社群情况介绍 一.学习背景 相信你在学习Web安全的过程中,一定会感受到要涉及到的知识体系非常庞大.浩如烟海,而且很大一部分知识点都十分零散.碎片化,自学起来会踩很多坑,浪费 ...
- 关于web安全测试在功能测试中的应用
关于web安全测试在功能测试中的应用 一.安全基本概念 1.1实施安全评估 1.1.1资产等级划分 1.1.2威胁分析 1.1.3风险分析 1.1.4 安全方案 1.2 安全原则 二.我的安全测试模型 ...
- 菜鸟浅谈——web安全测试
本文仅为小白了解安全测试提供帮助 一:安全测试注意事项 1)要注意白帽子与黑客之间的区别 2)在挖漏洞挣外快时,注意不要使用安全扫描或暴力破解软件对上线网站进行扫描或攻击. 不要对上线网站造成破坏,不 ...
- Web安全性测试—SQL注入
Web安全性测试-SQL注入 因为要对网站安全性进行测试,所以,学习了一些sql注入的知识. 在网上看一些sql注入的东东,于是想到了对网站的输入框进行一些测试,本来是想在输入框中输入<scri ...
- python的web压力测试工具-pylot安装使用
pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...
最新文章
- utf8编码中文还是乱码_zend studio 乱码
- [Sensor]--BMI160-加速度计、陀螺仪传感器
- 删除A数据表中的一行数据时,不小心将表名写成了B,现在想恢复B中刚删除的的着一行数据怎么办...
- ubuntu19.10安装阿里旺旺
- 来,拆一堆芯片看看!
- 高等数学下-赵立军-北京大学出版社-题解-练习10.5
- C++ 对引用的理解5
- MAC版CRT使用心得
- 项目管理中的流程管理
- SAP License:SAP学习笔记-集成与核算
- win8 无法打开任务管理器
- 微信小程序开源框架wxSortPickerView:微信小程序首字母排序选择表
- paypal如何支付欧元_paypal海外支付流程是什么?paypal中国可以用吗?
- wifi的html页面,笔记本怎么设置wifi
- selenium+java打开新标签页方法
- 推荐几个我收藏且星标的嵌入式技术公众号
- 利用Sulley测试easyftp服务器
- 护眼灯护眼有效果吗?一文了解护眼灯到底有没有用
- JavaScript的循环
- 模拟退火的一些个人见解
热门文章
- java生成点阵图_【图片】一个零基础的小白是如何脱变成Java后端工程师的?【java吧】_百度贴吧...
- 二、Nginx 反向代理配置初学个人理解
- 面试进阶 -- 计算机基础原理知识、面试经验、高频题目
- uses-sdk标签详解
- 设计模式系列之过滤器模式(Chriteria Pattern)
- 借Java EE守护者联盟之力拯救Java EE
- HDU 3551 Hard Problem
- Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法
- 安装windows7系统报错
- Windows 7 - 使用批处理脚本模拟Windows XP中的msbackup备份程序