【转】XSS跨站脚本攻击原理
来源:互联网 发布:南京生产线仿真软件 编辑:程序博客网 时间:2024/06/13 09:13
【转】XSS跨站脚本攻击原理
【IT168 专稿】最近一些人频频在博客里炫耀说黑了某某门户网站,发现了某某大站的漏洞,竟然还要收取发现漏洞的费用,仔细瞧了一瞧,全是一片噼里啪啦alert消息框的截图,只是简单的触发了XSS,心痒难耐,于是写了这篇拙文道出我对跨站脚本漏洞原理的一些理解。
如果你还不知道什么是XSS,我来帮助解释一下,XSS的全称是Cross Site Scripting,意思是跨站脚本.这第一个单词是Cross,为什么缩写成X呢?因为CSS是层叠样式表的缩写(Cascading Style Sheets)的缩写,同时Cross发音和X相似,为了避免混淆用X来代替,缩写成XSS。其实我觉得叫XSS挺合适的,因为现在流行AJAX嘛,新的跨站脚本攻击技术很多都是和XMLHTTP控件无间配合,嘿嘿,这个是题外话,我们只讲原理,下面我就分两个部分分析XSS原理:
一、XSS的触发条件
了解XSS的触发条件就先得从HTML(超文本标记语言)开始,我们浏览的网页全部都是基于超文本标记语言创建的,如显示一个超链接:
<A HREF="http://safe.it168.com">IT168安全频道</A>
而XSS的原理也就是往HTML中注入脚本,HTML指定了脚本标记<script></script>.在没有过滤字符的情况下,只需要保持完整无错的脚本标记即可触发XSS,假如我们在某个资料表单提交内容,表单提交内容就是某个标记属性所赋的值,我们可以构造如下值来闭和标记来构造完整无错的脚本标记,
"><script>alert('XSS');</script><"
结果形成了<A HREF=""><script>alert('XSS');</script> <"">茄子宝的博客在这里</A>这样一个标记,:)这里和SQL注入很象!
测试闭和表单赋值所在的标记,形成完整无错的脚本标记可触发XSS,但是没有脚本标记怎么触发XSS呢?呵呵,我们只好利用其他标记了,假如要在网页里显示一张图片,那么就要使用一个<img>标记,示例如下:
<img src=" http://safe.it168.com /xss.gif">
img标记并不是真正地把图片给加入到Html文档把两者合二为一,而是通过src属性赋值。那么浏览器的任务就是解释这个img标记,访问src属性所赋的值中的URL地址并输出图片。问题来了!浏览器会不会检测src属性所赋的值呢?答案是否!那么我们就可以在这里大做文章了,接触过javascript的同志应该知道,javascript有一个URL伪协议,可以使用“javascript:”这种协议说明符加上任意的javascript代码,当浏览器装载这样的URL时,便会执行其中的代码.于是我们就得出了一个经典的XSS示例:
<img src="javascript:alert('XSS');"> 如图一
当然并不是所有标记的属性都能用,细心的你应该发现标记的属性在访问文件才触发的XSS,这里我就不再深入,因为离开标记的属性还有事件能帮助我们触发XSS.那什么是事件呢?只有达到某个条件才会引发事件,正巧img标记有一个可以利用的onerror()事件,当img标记内含有一个onerror()事件而正好图片没有正常输出便会触发这个事件,而事件中可以加入任意的脚本代码,其中的代码也会执行.现在我们又得到了另外一个经典的XSS示例:
<img src=" http://xss.jpg" onerror=alert('XSS')>如图二
综合这一部分,我们知道XSS的触发条件包括:完整无错的脚本标记,访问文件的标记属性和触发事件。- 【转】XSS跨站脚本攻击原理
- XSS跨脚本攻击原理
- XSS跨脚本攻击原理
- [转]详解XSS跨站脚本攻击
- 详解XSS跨站脚本攻击【转】
- XSS跨站脚本攻击原理及防护方法
- XSS跨站脚本攻击原理及防护方法
- XSS跨站脚本攻击原理及防护方法
- 跨站脚本攻击(XSS)
- XSS 跨站脚本攻击
- 跨站脚本攻击(XSS)
- xss 跨站脚本攻击
- 跨站脚本攻击XSS
- 跨站脚本攻击XSS
- XSS跨站脚本攻击
- 跨站脚本攻击XSS
- XSS(跨站脚本攻击)
- 跨站脚本攻击XSS
- PHP什么时候释放内存???5
- 正则
- DEDE,[小功能]删除文章时删除缩图和内容中大图 (2008-03-13 15:25:13)
- Android之jni入门
- 奉主耶稣基督的名净化心灵
- 【转】XSS跨站脚本攻击原理
- 求主导引-要大发热心
- 巧用isee“压缩”限制图片的文件大小及其尺寸
- 基于TMS320F28335的运动控制器--开发与调试记录1
- 面对网络色情的试探,基督徒…
- 173. Binary Search Tree Iterator
- svchost.exe占用cpu很大 怎么回事
- 弹不出来错误信息的解决办法
- dede 文章摘要长度