本文是基于以下课程所做的笔记
1.安全测试概念
安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程
2.安全测试分层
一般来说,安全测试可以分为以下几个层次:
针对操作系统层面(比如一些不应该开放的端口被开放,比如系统管理员的密码非常简单,比如某些补丁没有更新)
针对网络通讯层面
应用本身
3 权限和认证
web安全测试一般需要关注的点:
权限和认证
session和cookie
sql注入
xss跨站脚本攻击
文件上传
文件下载
权限和认证:
任何一个系统的安全设计中必须包含权限和认证模块
经典的权限系统:用户、角色、组、权限
认证:是指在交互过程中,怎么去确保权限得到落实的一个过程
4 session和cookie
在一个web系统中,最常用来实现认证的就是session和cookie,那么我们在安全测试的过程中,就要对session和cookie进行必要的测试
关注点:
1.不要在cookie中携带敏感数据
2.敏感数据一定要加密
3.session的过期和存续机制是否合理
5 SQL注入
所谓sql注入就是指用户在访问系统时,通过一些非法的输入改变应用的数据库访问逻辑,达到跳过验证、盗取数据等非法目的地一种攻击方式
6 XSS跨站脚本攻击
比如说一些钓鱼网站,一些网页点一下就弹广告或者自动下载
XSS跨站脚本攻击一般来说就是通过在资源中嵌入一些非法的前端脚本来达到攻击的目的
XSS攻击通常分为持久型XSS攻击和非持久型XSS攻击
持久型XSS攻击:一般钓鱼网站、站点存在安全楼顶被攻击者攻击
非持久型XSS攻击:修改URL或者其他临时性的措施让用户访问、一次有效
7 文件上传
上传文件的类型
不能只对后缀名检测,要对内容进行检测
上传文件的大小(如内存会崩溃
上传文件的数量
上传文件后要重命名
8 文件下载
下载文件要做权限控制(非必要)
下载文件不能通过静态资源方式访问
要提供基于接口访问的方式