关于xss攻击

网上相关的介绍很多,一搜索也是一大堆,这里我就对自己感兴趣的一些内容做个总结。

成因:xss是将恶意代码(多是JavaScript)插入html代码中。

分类:

1、 反射型

2、 存储型

3、 DOM型

1、 什么是反射型?

攻击者构造可执行JavaScript的攻击链接,发送给受害者,多用于获取cookie,因为cookie可以使你伪装成受害者来登录。还可以定向到别的网站,下载病毒链接等等。

2、 DOM型xss、反射型xss和存储型xss的区别?

反射型xss是向链接传入参数时发生的,需要诱骗受害者点击。而存储型是存在服务器中的,比如发表的文章,供访问者浏览的信息等等,危害更大。

DOM型xss属于反射型xss的一种,只是不通过服务器,DOM跨站是纯页面脚本的输出,只有规范使用JAVASCRIPT,才可以防御。

因为DOM型比较难理解,所以找了一些链接有兴趣,可以在深入了解一下。

关于DOM型XSS漏洞的学习笔记

DOM-based XSS 与存储性 XSS、反射型 XSS 有什么区别?

GitHub - jackmasa/XSS.png: A XSS mind map ;)

基于 DOM 的第三类跨站脚本

3、 如何对网站进行测试?

如果弹窗成功,说明存在xss漏洞

"/><script>alert(document.cookie)</script><!--
<script>alert(document.cookie)</script><!--
"onclick="alert(document.cookie)

4、 如何防xss?

1) 对特殊字符进行转义

2) 直接将标签过滤掉

3) 对cookie设置httponly

之前一直不了解到底是干什么用的,我理解是限定对cookie的访问只能走http协议,而不能通过JavaScript获取到cookie。

关于如何设置httponly?

百度的(全) http://jingyan.baidu.com/article/5553fa82a8248c65a3393442.html

java的  http://zhenghaoju700.blog.163.com/blog/static/13585951820138267195385/

4) 对用户的输入内容做限制

可以用正则对出入格式进行匹配。

5) 对数据进行在编码处理

参考:

反射型XSS攻击 http://blog.163.com/[email protected]/blog/static/376791602014718103941487/

关于xxs的一些利用案例

背景:后台对以下字符进行转义:<、>、’、”。

可以通过 u003cu003e来代替<>

实际案例:

后台输出JSON格式数据时,一般都会在前面添加转义符进行转义。

理想情况:u003cimg src=1 onerror=alert(/xss/)u003e

实际情况:

document.getElementById("test").innerHTML =" \u003cimg src=1 onerror=alert(/xss/)\u003e";

因为昵称被转义,u003c同样被转义了。

针对于此情况,可以利用半字节

[0xc0]u003cimg src=1 onerror=alert(/xss/) [0xc0]u003e

参考:新办法绕过xss过滤-让xss来的更猛烈些吧

时间: 2024-11-07 02:08:49

关于xss攻击的相关文章

PHP防御XSS攻击的终极解决方案

最近测试XSS攻击修复时,找到的一个比较不错的文章,分享给大家. Update20151202: 感谢大家的关注和回答,目前我从各种方式了解到的防御方法,整理如下: PHP直接输出html的,可以采用以下的方法进行过滤: 1 1.htmlspecialchars函数 2   3 2.htmlentities函数 4   5 3.HTMLPurifier.auto.php插件 6   7 4.RemoveXss函数(百度可以查到) PHP输出到JS代码中,或者开发Json API的,则需要前端在J

SQL 注入、XSS 攻击、CSRF 攻击

SQL 注入.XSS 攻击.CSRF 攻击 SQL 注入 什么是 SQL 注入 SQL 注入,顾名思义就是通过注入 SQL 命令来进行攻击,更确切地说攻击者把 SQL 命令插入到 web 表单或请求参数的查询字符串里面提交给服务器,从而让服务器执行编写的恶意的 SQL 命令. 对于 web 开发者来说,SQL 注入已然是非常熟悉的,而且 SQL 注入已经生存了 10 多年,目前已经有很成熟的防范方法,所以目前的 web 应用都很少会存在漏洞允许进行 SQL 注入攻击. 除非是入门开发人员,在开发

超强XSS攻击利器

======================================================================= BackTrack 5 R1 XSS研究之XSSer(超强XSS攻击利器)使用说明中文版 XSSer使用说明 ================================================================ 简介: ======================================================

Jsoup代码解读之六-防御XSS攻击

Jsoup代码解读之八-防御XSS攻击 防御XSS攻击的一般原理 cleaner是Jsoup的重要功能之一,我们常用它来进行富文本输入中的XSS防御. 我们知道,XSS攻击的一般方式是,通过在页面输入中嵌入一段恶意脚本,对输出时的DOM结构进行修改,从而达到执行这段脚本的目的.对于纯文本输入,过滤/转义HTML特殊字符<,>,",'是行之有效的办法,但是如果本身用户输入的就是一段HTML文本(例如博客文章),这种方式就不太有效了.这个时候,就是Jsoup大显身手的时候了. 在前面,我

xss攻击

这一篇,对xss攻击进行模拟, 服务4(被攻击对象,这里将其部署在http://127.0.0.1:8004) var http = require('http'); var url = require('url'); http.createServer(function (req, res) { // 打印url var pathname = url.parse(req.url).pathname; console.log('Request for ' + pathname + ' recei

防御XSS攻击的七条原则

本文将会着重介绍防御XSS攻击的一些原则,需要读者对于XSS有所了解,至少知道XSS漏洞的基本原理,如果您对此不是特别清楚,请参考这两篇文章:<Stored and Reflected XSS Attack><DOM Based XSS> 攻击者可以利用XSS漏洞向用户发送攻击脚本,而用户的浏览器因为没有办法知道这段脚本是不可信的,所以依然会执行它.对于浏览器而言,它认为这段脚本是来自可以信任的服务器的,所以脚本可以光明正大地访问Cookie,或者保存在浏览器里被当前网站所用的敏感

textarea与XSS攻击

textarea用法 一般是用来接收用户输入,用于提交到服务器端,例如 网站的评论框. 如果此框也用于显示服务器端回传的内容,则有如下两种用法 法1 后台直接插入 <textarea><%=serverString;%></textarea> 法2 使用JS DOM接口赋值 textareaDom.value = "<%=serverString;%>" textarea content特性 即法1特性, 即使将html代码段插入text

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

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

XSS攻击:SOHU视频XSS漏洞导致其用户成为DDOS肉鸡

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的. from:http://www.incapsula.com/blog/world-largest-site-xss-ddos-zombies.html incapsula发现其一个客户遭受了应用层的DDos攻击. 大概有22000的互联网用户对其网站发起了2000万的GET请求. 

开启CSP网页安全政策防止XSS攻击

 一.简介 CSP是网页安全政策(Content Security Policy)的缩写.是一种由开发者定义的安全性政策申明,通过CSP所约束的责任指定可信的内容来源,(内容可以是指脚本.图片.style 等远程资源).通过CSP协定,可以防止XSS攻击,让web处一个安全运行的环境中. CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单.它的实现和执行全部由浏览器完成,开发者只需提供配置.CSP 大大增强了网页的安全性.攻击者即使发现了漏洞,也没法