论坛风格切换
您好,欢迎光临本站!   登录 注册新用户
  • 1205阅读
  • 1回复

[安全]1.7.3 数据与代码分离原则 [复制链接]

上一主题 下一主题
 
发帖
141299
黑豆
-2859
威望
-2709
贡献值
0
交易币
0
红豆
0
只看楼主 倒序阅读 0 发表于: 2014-11-25
另一个重要的安全原则是数据与代码分离原则。这一原则广泛适用于各种由于"注入"而引发安全问题的场景。

实际上,缓冲区溢出,也可以认为是程序违背了这一原则的后果--程序在栈或者堆中,将用户数据当做代码执行,混淆了代码与数据的边界,从而导致安全问题的发生。

在Web安全中,由"注入"引起的问题比比皆是,如XSS、SQL Injection、CRLF Injection、X-Path Injection等。此类问题均可以根据"数据与代码分离原则"设计出真正安全的解决方案,因为这个原则抓住了漏洞形成的本质原因。

以XSS为例,它产生的原因是HTML Injection 或JavaScript Injection,如果一个页面的代码如下:

<html>
<head>test</head>
<body>
$var
</body>
</html>
其中$var 是用户能够控制的变量,那么对于这段代码来说:

<html>
<head>test</head>
<body>

</body>
</html>
就是程序的代码执行段。



$var
就是程序的用户数据片段。

如果把用户数据片段$var 当成代码片段来解释、执行,就会引发安全问题。

比如,当$var的值是:

<script src=ht
阅读全文地址:http://book.2cto.com/201208/1989.html
快速回复
限100 字节
 
上一个 下一个