📚 前端安全
2022-10-10 11:21:53 1 举报
AI智能生成
一个脑图读懂前端安全
作者其他创作
大纲/内容
《前端安全》读书笔记
OAuth有助于提升安全性
权限
RBAC模型
用户注册阶段常见安全措施
限制用户名/密码长度
密码强度判定
敏感字符过滤
用户信息合法性
用户名重复检测
用户密码加密存储
正则匹配内容格式
邮箱重复检测
用户登录阶段安全措施
用户名、密码过滤机制
验证码介入方式
综合利用搜索引擎
使用缓存匿名浏览
获取特殊信息
后台管理页面、目录列表或特殊页面
SDL
OWASP、NIST等安全机构和组织分别推出了企业软件保证成熟度模型(OpenSAMM)和信息系统建设生命周期安全考虑(NIST SP800-64)
安全渗透测试
快速代码审计
实体化编码
CC攻击
属于DDoS的一种
原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的
攻击方式
代理CC攻击
黑客借助代理服务器生成指向受害主机的合法网页请求
肉鸡CC
黑客使用CC攻击软件,控制大量肉鸡,发动攻击
攻击症状
防御方法
服务器垂直扩展和水平扩容,提高并发
数据缓存
页面静态化
用户级别的调用频率限制
IP限制
URL编码
RFC3986文档规定,URL中只允许包含英文字母(a~z、A~Z)、数字(0~9)、4个特殊字符(-、_、.、~)以及所有保留字符
URL编码主体采用的是ASCII编码表,编码方式是用%(百分号)加上两位字符代表一个字节
示例:HTTP://172.29.152.23/loginPage.jsp?name=测试&passwd=ww121%$● URL编码后HTTP://172.29.152.23/loginPage.jsp?name=%E6%B5%8B%E8%AF%95&passwd=ww121%25
html实体字符
HTML字符实体的特点是以&开头,并以分号结尾
HTML字符实体(Character Entity)是用来表示HTML中危险字符的方案,也是解决跨站脚本(XSS)攻击的有效手段
XSS
XSS攻击主要影响的是用户端的安全,包含用户信息安全、权限安全等
常见主要有弹窗,窃取用户cookie和广告注入
漏洞实践与测试
闭合标签测试
分析代码结构,闭合其他标签,使得其他脚本标签可以运行
大小写混合测试
将关键词进行黑名单处理并进行大小写正确识别
多重嵌套测试
尝试构造一个多余的关键词来让服务器主动删除,留下的内容会自动拼接成有效词
宽字节绕过测试
网络钓鱼
herf:Javascript:alert. 将“javascript”中的字符“s”进行了实体化编码,对应的HTML实体化编码为s,这样可绕过原有关键词的过滤防护
利用HTML5新增标签
如 math 属性
利用DataUrl协议,引用外域的资源
csrf
CSRF攻击的效果是在当前用户不知情的情况下,以当前用户的身份发送业务请求并执行
形成有效攻击的三个点
用户处于登陆态
伪造的链接与正常应用请求链接一致
后台未对用户业务开展合法性校验
防护措施
重要操作添加验证环节
验证referer
生成token并验证
sql 注入
服务端获取提交参数时,在参数上写入sql语句
如http://192.168.174.131/sql_injection/demon/case/sql_4.php?name=user1' order by 11
恒真、恒假的测试目的在于发现用户输入的参数是否可影响服务器端的查询语句
在这个过程中,需注意单引号的用法,可参考恒真语句’ and '1'='1。其中,第一个单引号就是用来闭合原有语句中的单引号,后面的“'1”中的单引号则会闭合原有语句中后面的单引号,从而成功构建SQL语句
文件上传攻击
上传漏洞前提:存在上传点且上传点用户可独立控制上传内容,同时上传文件可被顺利解析
攻击成功四要素
目标网站具有上传功能
上传的目标文件能够被Web服务器解析执行
知道文件上传到服务器后的存放路径和文件名称
目标文件可被用户访问
如何防护
0
MIME防护
服务端文件扩展名检测
文件后缀检测
文件重命名
web 木马
木马(Trojan)是指可以控制另一台计算机的特定程序
当木马上传到服务器后,攻击者远程访问木马(也就是Web页面)即可执行
在真实环境中,给Web应用单独设置一个独立用户,这个用户权限较小,只可读取Web目录文件,及执行部分命令的权限
木马类型:一句话木马,小型木马,大型木马
恶意注册问题
单IP注册频率限制
表单加验证码
需要姓名加身份证认证
二次校验技术
需要验证用户邮箱
这种方式可通过复杂的注册流程增加批量注册的难度
手机绑定验证
唯一思路
应尽可能提高恶意注册的难度,使批量注册的成本高于从网站获取到的利益,这样为解决此问题的唯一思路
登陆安全问题
标准方式是在原有密码上添加相应的salt(salt称作盐,也就是一段字符串或特定内容)
登陆时间问题
验证码过于简单
验证码
证码在设计阶段的核心思路就是:尽量让人类容易识别,并且尽量让目前的各类信息处理技术(如图像识别、音频识别等)有效识别内容
常见手段
滑动验证、点触验证、选择特定图片内容、基本常识信息识别及计算等
验证码的问题
验证码不刷新
二次验证技术
短信随机码识别
邮箱确认链接识别
可以避免攻击者利用大量虚假邮箱信息在同一个网站上注册用户
0 条评论
下一页