XSS的原理分析与解剖.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XSS的原理分析与解剖

XSS的原理分析与解剖 2014-08-13 18:47 Black-Hole FreeBuf 字号:T | T xss是一门又热门又不太受重视的Web攻击手法,为什么会这样呢,原因有下:耗时间、有一定几率不成功、没有相应的软件来完成自动化攻击、是一种被动的攻击手法等。 AD: 0×01 前言: 《xss攻击手法》一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的《白帽子讲WEB安全》和cn4rry的《XSS跨站脚本攻击剖析与防御》才开始好转。 我这里就不说什么xss的历史什么东西了,xss是一门又热门又不太受重视的Web攻击手法,为什么会这样呢,原因有下: 但是这些并没有影响黑客对此漏洞的偏爱,原因不需要多,只需要一个。 Xss几乎每个网站都存在,google、baidu、360等都存在。 0×02 原理: 首先我们现在本地搭建个PHP环境(可以使用phpstudy安装包安装),然后在index.php文件里写入如下代码: html? head? meta?http-equiv=Content-Type?content=text/html;?charset=utf-8?/? titleXSS原理重现/title? /head? body? form?action=?method=get? input?type=text?name=xss_input? input?type=submit? /form? hr? ?php? $xss?=?$_GET[xss_input]; ? echo?你输入的字符为br.$xss; ? ?? /body? /html? ? 然后,你会在页面看到这样的页面 我们试着输入abcd123,得到的结果为 我们在看看源代码 我们输入的字符串被原封不动的输出来了,那这里我们提出来一个假设,假设我们在搜索框输入下面的代码会出现什么呢? scriptalert(xss)/script? 如果按照上面的例子来说,它应该存在第12行的[br]与[/boby]之间,变成: brscriptalert(xss)/script/boby? 之后,应该会弹出对话框。 既然假设提出来,那我们来实现下这个假设成不成立吧。 我们输入 scriptalert(xss)/script? 得到的页面为 成功弹窗,这个时候基本上就可以确定存在xss漏洞。 我们在看看源代码 看来,我们的假设成功了,这节就说说XSS的原理,下面几节说说xss的构造和利用。 0×03 xss利用输出的环境来构造代码?: 上节说了xss的原理,但是我们的输出点不一在[ br ]和[ /boby ]里,可以出现在html标签的属性里,或者其他标签里面。所以这节很重要,因为不一定 当你输入下面代码就会出现弹窗。? scriptalert(xss)/script? 先贴出代码: html? head? meta?http-equiv=Content-Type?content=text/html;?charset=utf-8?/? titleXSS利用输出的环境来构造代码/title? /head? body? center? h6把我们输入的字符串?输出到input里的value属性里/h6? form?action=?method=get? h6请输入你想显现的字符串/h6? input?type=text?name=xss_input_value?value=输入br? input?type=submit? /form? hr? ?php? $xss?=?$_GET[xss_input_value]; ? if(isset($xss)){ ? echo?input?type=text?value=.$xss.; ? }else{ ? echo?input?type=type?value=输出; ? } ? ?? /center? /body? /html? 下面是代码的页面 这段代码的作用是把第一个输入框的字符串,输出到第二个输入框,我们输入1,那么第二个input里的value值就是1,下面是页面的截图和源代码的截图(这里我输入下面的代码来测试) scriptalert(xss)/script? ? 明显的可以看到,并没有弹出对话框,大家可能会疑惑为什么没有弹窗呢,我们来看看源代码 我们看到我们输入的字符串被输出到第15行input标签里的value属性里面,被当成value里的值来显现出来,所以并没有弹窗,这时候我们该怎么办呢?聪明的人已经发现了可以在 scriptalert(#039;xss#039;)/script? 前面加个来闭合input标签。所以应该得到的结果为 成功弹窗了,我们在看看这时的页面 看到后面有第二个input

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档