- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 千万级并发HAproxy均衡负载系统介绍及配置.docx
- Shell脚本的特殊符号.docx
- 谈谈守护进程与僵尸进程.docx
- 01-跨站脚本攻击解析材料之一.doc
- Shell 循环基础.doc
- 实验5-MATLAB的程序设计.doc
- shell速成.doc
- Linux 进程管理_zql.ppt
- linux考点小结.docx
- unix shell编程及实例精解.docx
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)