H*********n 发帖数: 347 | 1 【 以下文字转载自 sysop 讨论区 】
发信人: Holyclayman (俺有罪,俺悔过), 信区: sysop
标 题: 近期被改昵称,转WB的同学请进
发信站: BBS 未名空间站 (Wed Dec 5 21:07:20 2012, 美东)
上月底我发现MIT的个人信息页存在XSS漏洞的时候,写了个脚本劫持登录session来偷
偷修改用户的心情。几天后在第二版(昨天发布)里加了个转帐1WB到HEROGG俱乐部的
功能,现在已经下线,但由于host攻击脚本的google服务器还会cache一天左右时间,
因此余波还会持续一阵。
添加转账功能纯属娱乐,不是想偷大家的WB,更与HEROGG俱乐部及其成员无关。由于没
有预想到在上线后十几个小时内有几千人次转账发生,给各位网友(特别是众多ebiz版
和sex版的ID们)造成很多不便,非常抱歉!请被盗ID截屏回复,我会用个人WB作出
赔付,谢谢!
担心WB持续被盗的同学:
请在一天内不要点击其他用户的个人简介,一天后脚本在google服务器的cache时间结
束后,应该就恢复正常了。(您的帐号密码是安全的,目前情况下我没有办法获取您的
这些信息,也没有劫持cookie,虽然后者是XSS可以做到的。)
避免自己的个人信息页影响其他人:
请修改个人联系方式:http://www.mitbbs.com/mitbbs_user_info3.php,清空MSN帐号里的信息即可。
再一次向受到影响的同学们表示歉意!
(遵循白帽原则,攻击细节在修复前暂不公开,如有必要,请技术站务联系我获取漏洞
详情和修复建议。) |
o******w 发帖数: 3262 | |
t********1 发帖数: 3029 | 3 co t
【在 o******w 的大作中提到】 : tjjtds : 哼
|
H*********n 发帖数: 347 | |
A*******g 发帖数: 959 | |
i******r 发帖数: 1415 | 6 使劲儿弹
【在 o******w 的大作中提到】 : tjjtds : 哼
|
R********0 发帖数: 4134 | 7 大牛开学习班吗?
【在 H*********n 的大作中提到】 : 赔付WB请 截屏回复sysop的帖子
|
R********0 发帖数: 4134 | 8 跨站脚本漏洞实例
例 1
类型1:CSS跨站
[HTML_REMOVED]//style属性值用户可控或者用户可以直接编辑模板
恶意用户可以提交“xss:expr/*XSS*/ession(alert('XSS'))”作为STYLE标签的属性值
,或者在编辑模板的地方,
恶意用户可以将JS代码写入CSS文件,导致跨站漏洞
类型2:HTML标签跨站
[HTML_REMOVED]">
由于程序没有对标签进行转义,恶意用户可以提交
http://www.test.com/search.php? evil_content =">[HTML_REMOVED]alert(/XSS/)[HTML_REMOVED]<
执行任意JS代码,导致跨站漏洞
类型3:Javascript跨站
[HTML_REMOVED]
var UID = '0';
var isLogin = false;
var KEY = '';//KEY变量用户可控
var FROMTAG = 1;
[HTML_REMOVED]
用户可以提交:
http://www.test.com/news/tag.jsp?key=%27;alert%281%29;//
变量key包含在JavaScript代码段中。原始代码被修改为:
[HTML_REMOVED]
var UID = '0';
var isLogin = false;
var KEY = '';alert(1);//恶意用户修改了页面输出代码';
例 2
下面的 ASP.NET 代码片段会在一个 HTTP 请求中读取一个雇员 ID,并显示给用户。
protected System.Web.UI.WebControls.TextBox Login;
protected System.Web.UI.WebControls.Label EmployeeID;
...
EmployeeID.Text = Login.Text;
如果 Login 只包含标准的字母或数字文本,这个例子中的代码就能正确运行。 如果
Login 有一个包含元字符或源代码的值,那么 Web 浏览器就会像显示 HTTP 响应那样
执行代码。
起初,这个例子似乎是不会轻易遭受攻击的。 毕竟,有谁会输入导致恶意代码的 URL
,并且还在自己的电脑上运行呢? 真正的危险在于,攻击者会创建恶意的 URL,然后
使用电子邮件或者其他诡计诱使受害者点击这个链接。 当受害者点击这个链接时,就
会不知不觉地通过易受攻击的 Web 应用程序,使自己的电脑蒙受恶意内容带来的风险
。 这种对易受攻击的 Web 应用程序进行盗取的机制通常被称为反射式 XSS。
例 3
下面的 ASP.NET 代码片段会根据一个给定的雇员 ID 来查询数据库,并显示出该雇员
的相应姓名。
protected System.Web.UI.WebControls.Label EmployeeName;
...
string query = "select * from emp where id=" + eid;
sda = new SqlDataAdapter(query, conn);
sda.Fill(dt);
string name = dt.Rows[0]["Name"];
...
EmployeeName.Text = name;
如同例 2,如果对 name 的值处理得当,该代码就能正常地执行各种功能;如若处理不
当,就会对代码的盗取行为无能为力。 同样,这段代码暴露出的危险较小,因为 name
的值是从数据库中读取的,而且显然这些内容是由应用程序管理的。 然而,如果
name 的值是由用户提供的数据产生,数据库就会成为恶意内容沟通的通道。
如果不对储存于数据库中的所有数据进行恰当的输入确认,那么攻击者便能在用户的
Web 浏览器中执行恶意命令。
这种类型的 Persistent(称作 Stored XSS)盗取极其阴险狡猾,由于数据存储的间接
性,使得辨别威胁的难度增大,而且还提高了一个攻击影响多个用户的可能性。 XSS
盗取会从访问提供留言簿 (guestbook) 的网站开始。
攻击者会在这些留言簿的条目中嵌入 JavaScript,接下来所有访问该留言簿的用户都
会执行这些恶意代码
跨站脚本漏洞危害
钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼
网站,或者注入钓鱼JavaScript以监控目标网站的表单输入,甚至发起基于DHTML更高
级的钓鱼攻击方式。
网站挂马:跨站时利用IFrame嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,
或者弹出恶意网站窗口等方式都可以进行挂马攻击。
身份盗用:Cookie是用户对于特定网站的身份验证标志,XSS可以盗取到用户的Cookie
,从而利用该Cookie盗取用户对该网站的操作权限。如果一个网站管理员用户Cookie被
窃取,将会对网站引发巨大的危害。
盗取网站用户信息:当能够窃取到用户Cookie从而获取到用户身份使,攻击者可以获取
到用户对网站的操作权限,从而查看用户隐私信息。
垃圾信息发送:比如在SNS社区中,利用XSS漏洞借用被攻击者的身份发送大量的垃圾信
息给特定的目标群。
劫持用户Web行为:一些高级的XSS攻击甚至可以劫持用户的Web行为,监视用户的浏览
历史,发送与接收的数据等等。
XSS蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施
DDoS攻击等。 |