51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4323|回复: 0
打印 上一主题 下一主题

[原创] Trust Boundary Violation

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-18 12:02:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 duibuqi 于 2010-10-18 12:05 编辑

Abstract:
可信赖的数据和不可信赖的数据共同混合在同一数据结构中会导致程序员错误地信任未经验证的数据。
Explanation:
信任边界可以理解为在程序中划分的分界线。分界线的一边是不可信赖的数据。分界线的另一边则是被认定为是可信
赖的数据。验证逻辑的用途是允许数据安全地跨越信任边界 — 从不可信赖的一边移动到可信赖的另一边。
当程序使可信赖和不可信赖的分界线模糊不清时,就会发生 Trust Boundary Violation 漏洞。发生这种错误的最普遍方式
是允许可信赖的数据和不可信赖的数据共同混合在同一数据结构中。
示例:以下 C# 代码会接受一个 HTTP 请求,并且在检查这个用户是否合法之前,就将 usrname 参数存储在 HTTP 会话
对象中。
usrname = request.Item("usrname");
if (session.Item(ATTR_USR) == null) {
session.Add(ATTR_USR, usrname);
}
若不对信任边界进行合理构建及良好维护,则程序员不可避免地会混淆哪些数据已经过验证,哪些尚未经过验证。这
种混淆最终会导致某些数据未经验证就加以使用了。

这是Fortify给出的解释,且不说这个例子很白痴,我就想知道怎么验证数据才算合法的,菜鸟求助。。。
QQ:www.wpj@163.com
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 19:32 , Processed in 0.064230 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表