《白帽子讲web安全》,了解一下

白帽子讲web安全

安全三要素CIA
机密性Confidentiality
完整性Integrity
可用性Availabillity

安全评估四个阶段
资产等级划分、威胁分析、风险分析、确认解决方案
威胁Threat
风险Risk
spoofing伪装
tampering篡改
repudiation抵赖
informationDisclosure信息泄漏
denial of server 拒绝服务
Elevation of Privilege 提升权限

风险分析

Damage Potential
获取完全验证权限,执行管理员操作
泄漏敏感信息
泄露其他信息
Reproducibility
随意再次攻击
重复攻击,有时间限制
很难复现攻击过程
Exploitability
初学者短期能掌握攻击方法
熟练的攻击才能完成这次攻击
漏洞利用条件苛刻
Affected users
所有用户,默认配置,关键用户
部分用户,非默认配置
极少用户
Discoverability
漏洞很明显,攻击条件容易获得
部分人能看到
发现该漏洞很困难

纵深防御原则
不能层面、不同方面实施安全方案、避免疏漏,不同方案相互配合,构成一个整体
正确的地方做正确的事情,解决根本问题的地方实施针对性的安全方案

数据和代码分离原则
不可预测性原则

客户端脚本安全

浏览器安全

同源策略 Same Origin Policy
浏览器的同源策略,限制了来自不同源的document或脚本,对当前document读取或这是某些属性

sandbox 泛指资源隔离类模块

恶意网址拦截

跨站脚本攻击XSS

跨站脚本攻击 Cross Site Script 区别于css 叫做xss
通常指通过html注入篡改网页,插入恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击,这种攻击是跨域的,叫做跨站脚本

反射型

反射型xss只是简单地把用户输入的数据反射给浏览器,需要用户点击,才能攻击成功,也叫做非持久型xsss

存储型xss

会把用户输入的数据存储在服务端,这种sxx具有很强的稳定性
也叫做持久型xss

dom based xss

根据数据是否保存在服务器端来划分
通过修改页面的dom节点形成的xss
通过innerHtml把用户数据当作html写入到页面中

xxs攻击成功后,能够对浏览器的页面植入恶意脚本,控制用户的浏览器
完成各种具体功能的恶意脚本,称为xsspayload
实际上就是JavaScript脚本
可以通过读取浏览器的cookie对象,发起cookie劫持攻击
cookie保存了用户的登陆凭证,劫持了cookie,就可以不通过密码直接登陆

可以在set-cookie时植入httponly标识
将cookie和客户端的ip绑定

xss钓鱼

xss 攻击平台

Attack API
BeEF
XSS-Proxy
XSS Worm

xss构造

利用字符编码
base标签
window.name

xss产生的本质还是一种html 注入,
用户的数据被当成html代码的一部分来执行,
混淆了原本的语义

所有在标签中输出的变量,如果未做任何处理,都能导致直接产生xss

跨站点请求伪造 CSRF

Cross Site Request Forgery 跨站点请求伪造

攻击者首先在自己的域构造一个页面
使用一个标签添加一些非法的连接

用户就在其他站点 执行了这个非法的连接

用户之所以能执行,因为用户浏览器的cookie

CSRF 本质是重要操作的所有参数都是可以被攻击者猜到的
只有预测出url的所有参数与参数值,才能够成功的构造一个伪造的请求

点击劫持 clickjacking

是一种视觉上的欺骗手段
攻击者使用一个透明的、不可见的iframe
覆盖在一个网页上
然后诱使用户在该网页上进行操作

html5 安全

同源策略解决方法jsonp 跨域

windows 对象不受同源策略的限制
postMessage 允许每一个window 对象往其他的窗口发送文本消息
从而实现跨窗口的消息传递
该功能不受同源策略的限制

web Storage 分为
session storage 关闭浏览器就会失效
local storage 会一直存菜
类似于一个非关系型数据库
有key-value 对组成
可以通过javascript 对其进行操作
接受同源策略的限制

服务器端应用安全

注入攻击

在原有的sql语句后面,加上恶意的语句,传入代码中执行
用户能够控制输入
原本程序要执行的代码,拼接了用户输入的数据

盲注
就是在服务器没有错误回显的时候完成的注入攻击

构造简单的条件语句,根据返回页面是否发生变化,来判断sql语句是否执行

Timing Attack
让同一个函数执行若干次,根据返回的时间长短,来判断是否执行成功,
BENCHMARK 函数,该函数用于测试函数性能

常见的sql注入攻击

在连接后面加上
and substring(@@version,1,1)=4 判断数据库版本

自动化工具sqlmap.py
攻击存储过程
基于字符集攻击

文件上传漏洞

用户上传了一个可执行的脚本文件,并通过此脚本文件,获得了执行服务器端命令的能力

文件上传功能防御
设置文件上传的目录权限
判断文件类型
使用随机数改写文件名和文件路径
单独设置文件服务器的域名

认证与会话管理

密码必须以不可逆的加密算法,或是单向散列函数算法,加密后存储在数据库中

主要就是session 的管理

访问控制

某个主体对某个客体需要实施某种操作,而系统对这种操作的限制就是权限控制

垂直权限管理
基于角色的访问控制RBAC

加密算法与伪随机数

web框架安全

应用层拒绝服务攻击

tcp三次握手

syn、syn/ack、ack

dos 攻击

PHP安全

文件包含漏洞
include()
require()
include_once()
requie_once()

能够打开并包含本地文件的漏洞 local file inclusion 简称 LFI

web Server配置安全

Web Server本身是否安全
Web Server 是否提供了可使用的安全功能
Apache安全更多的是要关注Module的安全

Nginx需要注意软件本身的安全,及时升级软件版本

安全运营

代码审计

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值