常见web安全漏洞(1)

上一篇 / 下一篇  2012-11-05 18:24:59 / 个人分类:安全测试

1.xss(cross_site scripting)
跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息的方式诱使管理员浏览,从而获得管理员权限,控制整个网站。
1)、非持久型
通过GET、POST、referer 等参数未加处理直接输出到页面执行。该类型是最为常见的,攻击者主要利用此类型通过email、热度非常大的论坛、或者有针对性的某一用户发送一个隐藏性的链接,让受害者进行点击触发。
eg:http://xxxxxxx"><script>alert(1)</script><s="
2)、持久型
由攻击者输入恶意数据保存在数据库,再由服务器脚本程序从数据库中读取数据,然后显示在公共显示的固定页面上,那么所有浏览该页面的用户都会被攻击。该类型攻击性非常大,危险也非常大。
eg:一般会对一些关键字的非常标签进行过滤,比如 script\javscript\onerror\expression 等关键字,但是由于 IE 的原因,用于style. 属性里面的 expression 关键字,如果改变成 expr/**/ession 写法,也可以执行的特性
3)、DOM型
由Javascript. 脚本动态创建、输出到页面造成的。该类型不容易发现,具有隐藏性的特点,必需手工去发现。
4)、浏览器漏洞
在某个浏览器版本造成的漏洞,由浏览于用户浏览历史、页面交互等方式,未加处理,所造成的。该漏洞攻击危害非常大,一旦存在,基本可以实现跨域操作,严重者可以以本地权限执行 javascript. 脚本,访问读取本地文件。
eg:http://www.google.cn/search?q='"><script>alert(/xss/)</script><'

2.csrf(cross_site request forgery)
跨站请求伪造(CSRF)是一种允许攻击者通过受害者发送任意HTTP请求的一类攻击方法。此处所指的受害者是一个不知情的同谋,所有的伪造请求都由他发起,而不是攻击者。这样,就很难确定哪些请求是属于跨站请求伪造攻击。
eg:
以下请求:
GET http://bank.com/transfer.do?acct=jim&amount=10000 HTTP/1.1
可以被伪造成:
http://bank.com/transfer.do?acct=mak&amount=100000
通过诱使用户点击伪造的链接,来达到攻击的目的。
防范办法:
0、使用POST方式而不是使用GET来提交表单,在处理表单提交时使用$_POST而不是$_REQUEST。
1、使用Form表单替换A标签方式提交(A 的href参数中加入 token,就会造成风险,因为后置页面可以通过referer获取来源页面的完整url)。
2、在特别重要的位置使用 https 进行数据传输。


TAG: XSS 安全 xss csrf

 

评分:0

我来说两句

Open Toolbar