上一页 1 ··· 358 359 360 361 362 363 364 365 366 ··· 404 下一页
摘要: 六、输入校验 原文:Input Validation 译者:飞龙 1 环境变量(隐藏的输入) 环境变量是隐藏的输入。它们存在并影响程序行为。在编程中忽略它们的存在可能导致安全隐患。 PATH 在 Shell 中运行命令时,Shell 会使用 PATH 环境变量搜索所有命令。下面会发生什么呢? sys 阅读全文
posted @ 2017-04-22 09:59 绝不原创的飞龙 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 五、竞态条件 原文:Race Condition Vulnerability 译者:飞龙 1 竞态条件漏洞 下面的代码段属于某个特权程序(即 Set-UID 程序),它使用 Root 权限运行。 1: if (!access("/tmp/X", W_OK)) { 2: /* the real use 阅读全文
posted @ 2017-04-21 16:27 绝不原创的飞龙 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 5 堆或 BSS 的缓冲区溢出 堆或 BSS 的内容 字符串常量全局变量静态变量动态分配的内存示例:覆盖文件指针 /* The following variables are stored in the BSS region */ static char buf[BUFSIZE], *tmpfile 阅读全文
posted @ 2017-04-21 11:52 绝不原创的飞龙 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 3 对抗措施 3.1 应用安全工程原则 使用强类型语言,例如 Java、C#,以及其他。使用这些语言,可以避免缓冲区溢出。使用安全的库函数 可能拥有缓冲区溢出问题的函数:gets、strcpy、strcat、sprintf。这些函数更加安全:fgets、strncpy、strncat以及snprin 阅读全文
posted @ 2017-04-21 11:27 绝不原创的飞龙 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 四、缓冲区溢出漏洞和攻击 原文:Buffer-Overflow Vulnerabilities and Attacks 译者:飞龙 1 内存 这个讲义的“区域”(Area)和“段”(Segment)与多数教程正好相反,译文中已更正。 在 PC 架构中,程序中有四个基本读写段:栈、数据、BSS 和堆。数 阅读全文
posted @ 2017-04-20 10:38 绝不原创的飞龙 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 4 最小权限原则 最小权限原则(最早由 Saltzer 和 Schroeder 提出): 每个程序和系统用户都应该具有完成任务所必需的最小权限集合。 限制代码运行所需的安全权限,有一个非常重要的原因,就是降低你的代码在被恶意用户利用时,造成的损失。如果你的代码仅仅使用最小权限来执行,恶意用户就难以使 阅读全文
posted @ 2017-04-19 12:03 绝不原创的飞龙 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 3 提升 Set-UID 程序的安全性 exec函数 exec函数系列通过将当前进程映像包装为新的,来运行紫禁城。有许多exec函数的版本,工作方式不同。它们可以归类为: 使用/不适用 Shell 来启动新程序。通过 Shell 处理命令行参数(Shell 可以引入比我们预期的更多功能。要注意 Sh 阅读全文
posted @ 2017-04-19 10:26 绝不原创的飞龙 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 2 Set-UID 程序的漏洞 2.1 隐藏的输入:环境变量 特权程序必须对所有输入进行安全检查。输入检查实际上是访问控制的一部分,特权程序必须这么做,来确保程序的安全。很多安全问题都是输入检查的错误造成的。 如果输入在程序中显式存在,程序员可能记得执行输入检查;如果输入隐式存在,输入检查可能会忘记 阅读全文
posted @ 2017-04-19 09:52 绝不原创的飞龙 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 三、Set-UID 特权程序 原文:Set-UID Programs and Vulnerabilities 译者:飞龙 这个讲义的主要目标就是来讨论特权程序,为什么需要他们,他们如何工作,以及它们有什么安全问题。特权程序是可以给予用户额外权限的程序,这些权限超出了用户已有的权限。例如,Web 服务 阅读全文
posted @ 2017-04-18 17:26 绝不原创的飞龙 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 二、Unix 安全概览 原文:Unix Security Basics 译者:飞龙 1 用户和用户组 用户 root:超极用户(UID = 0)daemon:处理网络。nobody:不拥有文件,用作非特权操作的默认用户。 Web 浏览器可在这个模式下工作。用户需要使用密码登录。加密的密码储存在/et 阅读全文
posted @ 2017-04-18 15:16 绝不原创的飞龙 阅读(6) 评论(0) 推荐(0) 编辑
上一页 1 ··· 358 359 360 361 362 363 364 365 366 ··· 404 下一页