发信人: williamlong(蓝色月光)
整理人: williamlong(2002-03-13 16:41:52), 站内信件
|
跨站脚本执行漏洞讲义
【前言】
漏洞定义
正规定义:
个人理解:
形式:CGI漏洞
方式:利用别人站点攻击,
效果:执行HTML代码和脚本
举一个例子,如修改IE标题
特点:
1. 隐藏身份
2. 被动式攻击
漏洞起源
Cert安全公告(2002-02)正式提出
国外1997年即有人在SF上发布此类漏洞
国内1998年经常看到关于炸聊天室,留言板的脚本也属于此类漏洞,不过方法比较单一,危害也仅限制使页面变形
漏洞发展及原因
SF 1997 1
2000 2
2001 22
2002 15(2个月)
安全意识,攻击难度,CGI安全(跨站脚本执行漏洞是CGI安全的一种)
【漏洞成因】
CGI程序没有过滤或转换用户提交的HTML代码
【漏洞危害】
获取其他用户Cookie中的敏感数据
HTTP无状态协议,产生server端session和client端cookie
一般情况下,Cookie只能被设置它的站点访问,即相同域名
document对象 + cookie属性
重定向到一个可以获取传递变量的CGI程序
屏蔽页面特定信息
HTML特点
举例
<a href=”
“>haha
伪造页面信息
原理同上
拒绝服务攻击
打开无穷窗口等
突破外网内网不同安全设置
举例
攻击者A
被攻击者B
存在CSS漏洞服务器C
后者在同一内网
A修改B的IE标题
B在内网和外网设置的安全级别不同
Internet 安全级别较高
Intranet 安全级别较低
与其它漏洞结合,修改系统设置,查看系统文件,执行系统命令等
IE执行任意命令
Eml未经提示执行任意命令
【利用方式】
URL编码
%2E
隐藏在其它对象之下
按钮
嵌入页面中
iframe
合理利用事件
onerror
【实例解析】
http://www.securityfocus.com
firstname <img src=1
lastname onerror = alert(document.cookie) >
bugtraq maillist <a href=”email”>firstname lastname
http://www.5460.net
no tips
http://chat.263.net
直接<h1>无效
//haha
//<h1>
http://bingle.pku.edu.cn
改了
以前 “><h1>haha
现在 <h1>haha
bbs2www
no tips
tomcat
referrer to newsgroup
resin
referrer to newsgroup
Microsoft
referrer to bugtraq
Intel
referrer to bugtraq
【解决方法】
程序员:
1. 过滤或转换用户提交数据中的HTML代码
2. 限制用户提交数据的长度
用户:
1. 不要轻易访问别人给你的链接
2. 禁止浏览器运行JavaScript和ActiveX代码
直接显示
存储到数据库后显示
----
|
|