安全测试(xss \ csrf 攻击)
web安全之xss攻击
xss攻击的全称是Cross-Site Scripting (XSS)攻击,是一种注入式攻击。基本的做法是把恶意代码注入到目标网站。由于浏览器在打开目标网站的时候并不知道哪些脚本是恶意的,所以浏览器会无差别执行恶意脚本,从而导致用户信息和一些敏感信息被盗取和泄漏。(主要 获取cookie信息)
xss一般分为两种类型,持久化的xss和非持久化的xss
持久化的xss 保持在数据库中
非持久化的xss 不保存在数据库
web安全之csrf攻击
srf攻击的全称是Cross-Site Request Forgery攻击,简单来说是利用当前用户的登录态冒充该用户去做一些对受害者不利的事情。
假设Alice想通过ban.com网站给bob转100块钱,当然了,bank.com是有安全漏洞的,不能防止csrf攻击。Maria,一个攻击者,想通过一些不正当手段让Alice转账给她,下面是她的一些做法:
- 构造攻击的链接或脚本
- 通过社交网站诱骗Alice去点击伪造链接或执行脚本
简单例子
如果bank.com银行应用是通过GET加传参的方式进行转账,如下所示
GET http://bank.com/transfer.do?acct=BOB&amount=100 HTTP/1.1
那么Maria现在决定让Alice成为受害者,她开始伪造url,让Alice从账户中转10000块钱到自己账户。她通过替换链接中参数的方式来达到这一目的。
http://bank.com/transfer.do?acct=MARIA&amount=100000
现在就到了诱导受害者去点击或执行上面这个链接的时候了,一般来说有下面一些方法
- 自动发送包含html内容的垃圾邮件
- 在Alice浏览银行站点时经常会访问的页面上构造恶意的链接或放置恶意脚本
比如伪装成一个普通链接,鼓励被害者去点击
<a href="http://bank.com/transfer.do?acct=MARIA&amount=100000">看我的照片!</a>
又或者构造一个0x0大小的图片
<img src="http://bank.com/transfer.do?acct=MARIA&amount=100000" width="0" height="0" border="0">
把上面这个图片放到emial中,Alice收到email之后,该链接会自动被访问。
如果Alice在点击上面的链接或打开email时正好登录了bank.com,那么上面的请求也会获得bank.com的登录态,从而发生转账行为。
不点击图片也会被获取登录态, 构造图片0000不设置图片大小,打开网站即可能获取;现在转账需要获取密码
原文地址:https://www.cnblogs.com/xiongww/p/11037276.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 连通域的原理与Python实现
- 涨见识!Java String转int还有这种写法
- RTSP拉流协议视频平台EasyNVR能够接入多少路视频直播流?
- 安装allure后执行命令后报错 INTERNALERROR> AttributeError: module 'pytest' has no attribute 'allure'
- 太好玩了,爬虫、部署API、加小程序,一条龙玩转知乎热榜
- SwiftUI:与 MapKit 协调器通信
- SwiftUI:集成 MapKit
- Seurat教程 || 分析Cell Hashing数据
- 图数据库之TinkerPop Provider
- SwiftUI:用枚举切换视图状
- 【POI】maven引用POI的依赖,XSSFWorkbook依旧无法使用的问题。
- SwiftUI: 将数据写入文档目录
- 如何从YouTube搬运视频?| Mixlab代码入门
- 「MoreThanJava」Day 7:接口详解
- Python 基础(十一):面向对象