《白帽子讲web安全》第3章 跨站脚本攻击(XSS)

article/2025/8/20 9:34:08

一、XSS简介

跨站脚本攻击(Cross Site Script):本来缩写是CSS,为了和层叠样式表示(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做“XSS”。通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。

反射型XSS:简单地把用户输入的数据“反射”给浏览器。黑客往往需要诱使用户“点击”一个恶意链接,才能攻击成功。也叫做“非持久型 XSS(Non-persistent XSS)”

存储型XSS:把用户输入的数据“存储”在服务器端,有很强的稳定性。保留一个含有恶意JavaScript代码的网页在服务器端,所有访问者都会被执行恶意代码。

DOM Based XSS:通过修改页面的DOM节点形成的XSS。(DOM:文件对象模型)

二、XSS攻击进阶

XSS Payload:XSS攻击成功后,攻击者能够对用户当前浏览的页面植入恶意脚本,通过恶意脚本,控制用户的浏览器,这些用以完成各种具体功能的恶意脚本,被称为“XSS Payload”。XSS Payload实际就是JavaScript脚本,所以任何JavaScript脚本能实现的功能,XSS Payload都能做到。

XSS Payload例子:一个最常见的XSS Payload就是通过读取浏览器的Cookie对象,从而发起“Cookie劫持”攻击,攻击者可以不通过密码,而直接登录进用户的账户。

高级的XSS Payload例子:GET与POST请求:攻击者仅通过JavaScript就可以让浏览器发起这两种请求;②XSS钓鱼:通过钓鱼实现“与用户交互”获取用户关键信息;③识别用户浏览器:通过XSS读取浏览器的UserAgent 对象,或者分辨浏览器之间的差异;④识别用户安装的软件:通过判断ActiveX控件的classid是否存在,来推测用户是否安装了该软件;⑤CSS History Hack:通过CSS,来发现一个用户曾经访问过的网站,其原理是利用style的visited属性;⑥获取用户的真实IP地址:XSS通过调用Java Applet的接口获取客户端的本地IP地址。

XSS攻击平台:Attack API、XSS-Proxy。

XSS Worm:Samy Worm、百度空间蠕虫、MySpace蠕虫。一般来说,用户之间发生交互行为的页面,如果存在存储型XSS,则比较容易发起XSS Worm攻击。

JavaScript脚本调试工具:Firebug、IE 8 Developer Tools、Fiddler、Http Watch。

XSS构造技巧:利用字符编码、绕过长度限制(利用注释符)、使用<base>标签(<base>的作用是定义页面上的所有使用“相对路径”标签的hosting地址)、window.name的妙用(攻击者可以利用这个对象实现跨域、跨页面传递数据)。

三、XSS的防御

针对XSS的cookie劫持:在set-cookie时为cookie标注“HttpOnly”标识;

输入检查(XSS filter):同时在客户端JavaScript中和服务器端代码中实现相同的输入检查,客户端的检查是为了阻挡大部分误操作的正常用户,从而节约服务器资源;

输出检查(安全编码):HtmlEncode、JavascriptEncode、UrlEncode、XMLEncode、JSONEncode;

正确地防御XSS:XSS的本质还是一种”HTML注入“,用户的数据被当成了HTML代码一部分来执行;

处理富文本:富文本指网站需要用户提交一些自定义的HTML代码;--- 如何区分富文本和有攻击性的XSS:对标签选择使用白名单,避免使用黑名单(白名单:只允许这些标签存在,其他的都不行;黑名单:不允许这些标签存在,其他的都行);使用开源的XSS filter项目(如Anti-Samy)。

防御DOM Based XSS:分语境使用不同的编码函数。

思考:修补XSS漏洞时遇到的挑战之一是漏洞数量太多,因此开发者可能来不及,也不愿意修补这些漏洞,从业务风险的角度来重新定位每个XSS漏洞,具有重要的意义。

 

 

 


http://chatgpt.dhexx.cn/article/2NOb8lgY.shtml

相关文章

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

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

白帽子讲Web安全(纪念版)笔记

白帽子讲Web安全&#xff08;纪念版&#xff09; 只是笔记&#xff0c;详情请查阅吴翰清老师的《白帽子讲Web安全》 前言 安全工程师的核心竞争力不在于他能拥有多少个0day&#xff0c;掌握多少中安全技术&#xff0c;而是在于他对安全理解的深度&#xff0c;以及由此引申的看…

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

一、为何要了解Web安全 最近加入新公司后&#xff0c;公司的官网突然被Google标记为了不安全的诈骗网站&#xff0c;一时间我们信息技术部门成为了众矢之的&#xff0c;虽然老官网并不是我们开发的&#xff08;因为开发老官网的前辈们全都跑路了&#xff09;。我们花了很多时间…

笔记《白帽子讲Web安全》吴翰清

第一篇&#xff1a;世界观安全 第一章&#xff1a;我的安全世界观 一个网站的数据库&#xff0c;在没有任何保护的情况下&#xff0c;数据库服务端口是允许任何人随意连接的&#xff1b;在有了防火墙的保护后&#xff0c;通过ACL可以控制只允许信任来源的访问。这些措施在很大…

《白帽子讲web安全》我的安全世界观

文章目录 我的安全世界观前言安全工程师的核心竞争力白帽子的使命现状里程碑安全的本质安全三要素如何防范安全问题&#xff1f; 安全评估步骤资产等级划分互联网核心问题威胁分析&#xff08;确定攻击面&#xff09;风险分析设计安全方案 白帽子兵法一、Secure By Default 原则…

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

Web是互联网的核心&#xff0c;是未来云计算和移动互联网的最佳载体&#xff0c;因此Web安全也是互联网公司安全业务中最重要的组成部分。 下面来看看几种常见的web漏洞&#xff1a; 1.XSS跨站脚本攻击 XSS跨站脚本攻击&#xff0c;通常指黑客通过”HTML注入”篡改了网页&am…

白帽子讲Web安全——世界观安全

一、web安全简史 1、不想拿“root”的黑客不是好黑客 2、在黑客的世界里&#xff0c;有的黑客&#xff0c;精通计算机技术&#xff0c;能自己挖掘漏洞&#xff0c;并编写exp&#xff1b;而有的黑客只懂得编译别人的代码&#xff0c;自己没有动手能力&#xff0c;这种黑客被称…

白帽子讲Web安全

第一篇&#xff1a;世界观安全 第一章&#xff1a;我的安全世界观 一个网站的数据库&#xff0c;在没有任何保护的情况下&#xff0c;数据库服务端口是允许任何人随意连接的&#xff1b;在有了防火墙的保护后&#xff0c;通过ACL可以控制只允许信任来源的访问。这些措施在很大…

白帽子讲web安全(精写含思维导图)

写在前面 重要的事多说几遍 本文对学习基础、面试、了解安全都有辅助的作用 觉得本文对您有帮助的朋友们&#xff0c;请您动动小手点赞、收藏加关注哦~ 觉得本文对您有帮助的朋友们&#xff0c;请您动动小手点赞、收藏加关注哦~ 觉得本文对您有帮助的朋友们&#xff0c;请您动…

无人驾驶综述:国外国内发展历程

一、国外 从上世纪20年代开始&#xff0c;欧美等国家就开始了无人驾驶技术的探索。从无线电遥控汽车&#xff0c;到运用计算机视觉技术辅助感知、规划和控制&#xff0c;再到军方、大学、汽车企业广泛合作研发多辆自动驾驶汽车原型&#xff0c;无人驾驶的发展经历了很多重要的时…

无人驾驶综述:等级划分

无人驾驶不可能一蹴而就&#xff0c;从实现不同程度的无人驾驶开始也能较快促进产业的发展。无人驾驶的智能程度就对应不同的无人驾驶等级。《SAE J3016推荐实践&#xff1a;道路机动车辆驾驶自动化系统相关术语的分类和定义》&#xff08;下文简称为《SAE驾驶自动化分级》&…

无人驾驶算法总结

本人主要做自动驾驶功能软件算法开发&#xff0c;最近上海疫情比较严重&#xff0c;已经被被封了好几天了&#xff0c;突然想总结总结无人驾驶这块。我们今天先来说说算法类岗位&#xff0c;结合高级辅助驾驶三大系统&#xff0c;分为环境感知类算法、决策规划类算法、控制算法…

无人驾驶决策控制

近年来&#xff0c;随着人工智能和物联网技术的快速发展&#xff0c;无人驾驶汽车受到学术界、产业界极大关注&#xff0c;无人驾驶概念持续火热。从概念定义来看&#xff0c;智能驾驶汽车是一种自动化载体&#xff0c;能够部分或者全面代替驾驶员进行驾驶行为&#xff0c;无人…

无人驾驶技术综述

Self-Driving Car System 有四个组成部分&#xff1a; 1.Perception : other objects around the car. 2.Localization : GPS local landmarks IMU. 3.Decision : path, speed and other behaviour planing. 4.Control : Drive by wire steering wheel, throttle(油门), …

无人驾驶技术有什么优点,人工驾驶的优缺点英文

无人驾驶汽车的优点与缺点 从2009年起&#xff0c;自动驾驶汽车&#xff08;即“无人驾驶汽车”&#xff09;已经开始出现在人们的视野当中&#xff0c;10年过去&#xff0c;汽车行业几乎发生了翻天覆地的变化&#xff0c;在诸多智能配置和主动安全系统的协作下&#xff0c;许…

无人驾驶网约车营销分析

摘 要 在这个科技高速发展的时代&#xff0c;科技已经融入到生活的方方面面&#xff0c;随着当代人工智能&#xff0c;5G通讯等技术的提出与发展&#xff0c;无人驾驶汽车技术发展日渐成熟&#xff0c;科技的进步催生无人驾驶网约车这种新型出行服务模式的兴起。 专家指出无人…

无人驾驶技术架构—百度Apollo介绍

今天我们以百度Apollo为例&#xff0c;讲讲无人驾驶的技术架构。通过本文的学习&#xff0c;希望大家可以初步建立起了对百度Apollo的架构的认知。 一、Apollo架构 先来看一张百度Apollo技术框架图&#xff1a; 可以看到该架构分为四层&#xff0c;其中除了Cloud Service Pl…

无人驾驶关键技术

无人驾驶关键技术 &#xff11;、前言 如果从谷歌无人车原型机开始算&#xff0c;无人驾驶概念从提出到逐步量产化&#xff0c;已经有&#xff11;&#xff11;年了&#xff0c;中间经历过概念化、模式分级、技术路线图的百花齐放&#xff0c;核心零部件的量产化、无人驾驶平…

无人驾驶技术(交通标志识别)

国内开源数据集TT100K&#xff08;安全标志数据集&#xff09; TT100K数据集中提供了annotations。json标注文件&#xff0c;train文件夹里有3000多张图片&#xff0c;test文件夹中有3000多张图片。 无人驾驶技术一般分为自主式和网连化 **自主式&#xff1a;**通过搭载多种先进…

无人驾驶技术架构、方向及技能要求

目录 一 前言二 无人驾驶技术架构2.1 车辆认证平台2.2 开源硬件平台2.3 开源软件平台2.4 云端服务平台 三 无人驾驶软件技术方向四 无人驾驶软件技能要求 一 前言 之前研究过百度Apollo平台&#xff0c;个人认为其作为一个开源开放的智能驾驶平台很适合初学者学习&#xf…