溢出
文章平均质量分 66
绝不原创的飞龙
这个作者很懒,什么都没留下…
展开
-
索尼PS4破解之用户层代码执行(Part2)
原文:Hacking the PS4, part 2 译者:鸢尾 来源:索尼PS4破解之用户层代码执行自从我之前写的那篇有关PS4安全发布一来,我又有了一些新的发现。这得益于此我现在能够在WebKit进程中进行代码执行。虽然我还不想发布我的代码执行解决方案,但是我目前使用的PS4-SDK已经开源,如果有兴趣你可以去看看。代码执行ROP只是以一种聪明的方法执行现有的加载到内存中的转载 2017-03-18 11:53:06 · 41091 阅读 · 0 评论 -
雪城大学信息安全讲义 3.3 提升 Set-UID 程序的安全性
3.3 提升 Set-UID 程序的安全性exec函数 exec函数系列通过将当前进程映像包装为新的,来运行紫禁城。有许多exec函数的版本,工作方式不同。它们可以归类为: 使用/不适用 Shell 来启动新程序。通过 Shell 处理命令行参数(Shell 可以引入比我们预期的更多功能。要注意 Shell 是个强大程序)。启动子进程涉及到依赖问题以及属性继承,我们之前看到它可能存在问题。翻译 2017-04-19 10:26:14 · 39819 阅读 · 0 评论 -
雪城大学信息安全讲义 3.4 最小权限原则
4 最小权限原则 最小权限原则(最早由 Saltzer 和 Schroeder 提出): 每个程序和系统用户都应该具有完成任务所必需的最小权限集合。 限制代码运行所需的安全权限,有一个非常重要的原因,就是降低你的代码在被恶意用户利用时,造成的损失。如果你的代码仅仅使用最小权限来执行,恶意用户就难以使用它造成损失。如果你需要用户使用管理员权限来执行代码,任何代码中的安全缺陷,都翻译 2017-04-19 12:03:21 · 39914 阅读 · 0 评论 -
Linux (x86) Exploit 开发系列教程之七 绕过 ASLR -- 第二部分
绕过 ASLR – 第二部分 译者:飞龙 原文:Bypassing ASLR – Part II 本文承接 @hackyzh 翻译的第六篇。预备条件:经典的基于栈的溢出VM 配置:Ubuntu 12.04 (x86)这篇文章中,让我们看看如何使用爆破技巧,来绕过共享库地址随机化。 什么是爆破?在这个技巧中,攻击者选择特定的 Libc 机制,并持续攻击程序直到成功。假设翻译 2017-05-01 18:24:09 · 41043 阅读 · 0 评论 -
Linux (x86) Exploit 开发系列教程之八 绕过 ASLR -- 第三部分
绕过 ASLR – 第三部分译者:飞龙原文:Bypassing ASLR – Part III预备条件:经典的基于栈的溢出绕过 ASLR – 第一部分VM 配置:Ubuntu 12.04 (x86)在这篇文章中,让我们看看如何使用 GOT 覆盖和解引用技巧。来绕过共享库地址随机化。我们在第一部分中提到过,即使可执行文件没有所需的 PLT 桩代码,攻击者也可以使用 GOT 覆盖和解引用技巧翻译 2017-05-01 21:13:28 · 42268 阅读 · 0 评论 -
Linux (x86) Exploit 开发系列教程之九 使用 unlink 的堆溢出
使用 unlink 的堆溢出 译者:飞龙 原文:Heap overflow using unlink预备条件:理解 glibc malloc这篇文章中,让我们了解如何使用 unlink 技巧成功利用堆溢出。但是在了解它之前,首先让我们看看漏洞程序:/* Heap overflow vulnerable program. */#include <stdlib.h>#in翻译 2017-05-02 10:41:57 · 40375 阅读 · 0 评论 -
雪城大学信息安全讲义 4.1~4.2
四、缓冲区溢出漏洞和攻击 原文:Buffer-Overflow Vulnerabilities and Attacks 译者:飞龙1 内存 这个讲义的“区域”(Area)和“段”(Segment)与多数教程正好相反,译文中已更正。在 PC 架构中,程序中有四个基本读写段:栈、数据、BSS 和堆。数据、BSS 以及堆区可统称为“数据区域”。在“内存布局和栈”的教程中,Peter J翻译 2017-04-20 10:38:22 · 38915 阅读 · 0 评论 -
Linux (x86) Exploit 开发系列教程之十 使用 Malloc Maleficarum 的堆溢出
使用 Malloc Maleficarum 的堆溢出 译者:飞龙 原文:Heap overflow using Malloc Maleficarum预备条件:理解 glibc malloc从 2004 年末开始,glibc malloc 变得更可靠了。之后,类似 unlink 的技巧已经废弃,攻击者没有线索。但是在 2005 年末,Phantasmal Phatasmagoria翻译 2017-05-02 16:30:28 · 41560 阅读 · 0 评论 -
Linux (x86) Exploit 开发系列教程之十一 Off-By-One 漏洞(基于堆)
Off-By-One 漏洞(基于堆) 译者:飞龙 原文:Off-By-One Vulnerability (Heap Based)预备条件:Off-By-One 漏洞(基于栈)理解 glibc mallocVM 配置:Fedora 20(x86) 什么是 Off-By-One 漏洞?在这篇文章中提到过,将源字符串复制到目标缓冲区可能造成 Off-By-One 漏洞,当源字翻译 2017-05-03 13:21:42 · 40747 阅读 · 1 评论 -
Linux (x86) Exploit 开发系列教程之十二 释放后使用
释放后使用 译者:飞龙 原文:Use-After-Free预备条件:Off-By-One 漏洞(基于堆)理解 glibc mallocVM 配置:Fedora 20(x86) 什么是释放后使用(UAF)?继续使用已经被释放的堆内存指针叫做释放后使用。这个漏洞会导致任意代码执行。漏洞代码:#include <stdio.h>#include <string.h>#inc翻译 2017-05-03 17:25:12 · 41062 阅读 · 0 评论 -
SploitFun Linux x86 Exploit 开发系列教程
SploitFun Linux x86 Exploit 开发系列教程原文:Linux (x86) Exploit Development Series在线阅读PDF格式EPUB格式MOBI格式Github译者 章节 译者 典型的基于堆栈的缓冲区溢出 hackyzh 整数溢出 hackyzh Off-By-One 漏洞(基于栈) hackyzh 使用 re翻译 2017-05-03 17:55:26 · 39548 阅读 · 0 评论 -
雪城大学信息安全讲义 4.3~4.4
3 对抗措施3.1 应用安全工程原则使用强类型语言,例如 Java、C#,以及其他。使用这些语言,可以避免缓冲区溢出。使用安全的库函数可能拥有缓冲区溢出问题的函数:gets、strcpy、strcat、sprintf。这些函数更加安全:fgets、strncpy、strncat以及snprintf。3.2 系统化代码修改StackShield:分离控制(返回地址)和数据。它是保护返回地址的翻译 2017-04-21 11:27:35 · 39316 阅读 · 0 评论 -
雪城大学信息安全讲义 4.5
5 堆或 BSS 的缓冲区溢出堆或 BSS 的内容字符串常量全局变量静态变量动态分配的内存示例:覆盖文件指针/* The following variables are stored in the BSS region */ static char buf[BUFSIZE], *tmpfile;tmpfile = "/tmp/vulprog.tmp"; gets(buf); /* bu翻译 2017-04-21 11:52:10 · 39019 阅读 · 0 评论 -
雪城大学信息安全讲义 五、竞态条件
五、竞态条件 原文:Race Condition Vulnerability 译者:飞龙1 竞态条件漏洞下面的代码段属于某个特权程序(即 Set-UID 程序),它使用 Root 权限运行。1: if (!access("/tmp/X", W_OK)) { 2: /* the real user ID has access right */ 3: f = open("/tmp/翻译 2017-04-21 16:27:26 · 40941 阅读 · 0 评论 -
雪城大学信息安全讲义 六、输入校验
六、输入校验 原文:Input Validation 译者:飞龙1 环境变量(隐藏的输入)环境变量是隐藏的输入。它们存在并影响程序行为。在编程中忽略它们的存在可能导致安全隐患。PATH在 Shell 中运行命令时,Shell 会使用 PATH 环境变量搜索所有命令。下面会发生什么呢?system("mail");攻击者可以将 PATH 修改成下面,并使当前目录下的mail执行。翻译 2017-04-22 09:59:33 · 39191 阅读 · 0 评论 -
雪城大学信息安全讲义 3.2 Set-UID 程序的漏洞
2 Set-UID 程序的漏洞2.1 隐藏的输入:环境变量特权程序必须对所有输入进行安全检查。输入检查实际上是访问控制的一部分,特权程序必须这么做,来确保程序的安全。很多安全问题都是输入检查的错误造成的。如果输入在程序中显式存在,程序员可能记得执行输入检查;如果输入隐式存在,输入检查可能会忘记,因为程序员可能不知道这个输入的存在。环境变量就是这类输入。每个 Unix 进程都在特定环境下运行。环境由环翻译 2017-04-19 09:52:39 · 39165 阅读 · 0 评论 -
格式化字符串漏洞利用 七、工具
七、工具 原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2一旦利用完成,或者甚至在利用开发过程中,使用工具来获取必要的偏移更加有用。一些工具也有主意识别漏洞,例如在闭源软件中的格式化字符串漏洞。我在这里列出了四个工具,它们翻译 2017-04-14 20:01:22 · 39603 阅读 · 0 评论 -
Hacking the PS4, part 1
Hacking the PS4, part 1Introduction to PS4’s security, and userland ROP From: CturtNote: This article is part of a 3 part series:Hacking the PS4, part 1 - Introduction to PS4’s security, and userla转载 2017-03-18 12:17:40 · 39953 阅读 · 0 评论 -
缓冲区溢出攻击初学者手册(更新版)
译者:IDF_Lab 来源:缓冲区溢出攻击初学者手册(更新版)说明之前版本翻译质量不佳,本人赵阳在这里对本文的读者表示深深的歉意。由于本人的疏忽和大意导致您不能很好的读完这篇文章,同时也对原文内容进行了破坏,也对IDF和FreeBuf造成了一定的不良影响。我在这里对大家进行道歉!对翻译文章进行了即时的修改,同时感谢大家的评语!我会吸取此次教训,保证以后不会在出现类似的事情!请大家原谅转载 2017-03-18 14:04:03 · 39938 阅读 · 0 评论 -
从零开始学Win32平台缓冲区溢出(Part1)
原文:Stack Based Buffer Overflow in Win 32 Platform: The Basics 译者:鸢尾 来源:从零开始学Win32平台缓冲区溢出(Part1)缓冲区溢出是一个常见的且大家经常耳闻的软件安全漏洞,缓冲区溢出即是数据被过多的写入内存或者缓冲区,当一个缓冲区内的数据写满后,如果继续写入数据,数据就会溢出到其他缓冲区中,这将会覆盖或者说是转载 2017-03-18 14:09:44 · 38584 阅读 · 0 评论 -
pwnable passcode 10pt
题目在ssh passcode@pwnable.kr -p2222 (pw:guest)先看passcode.c:#include <stdio.h>#include <stdlib.h>void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); s原创 2017-03-18 14:12:07 · 39137 阅读 · 0 评论 -
某道Pwn(格式化字符串漏洞)
格式化字符串漏洞近几年出现频率少了,但是一些 CTF 中还有涉及,就当玩玩好了。首先看这一段代码,什么比赛的题我忘了:#include <stdio.h>int main(void){ int flag = 0; int *p = &flag; char a[100]; scanf("%s",a); printf(a); if(flag ==原创 2017-03-18 14:14:06 · 41984 阅读 · 2 评论 -
smashing the stack for fun and profit 译文
smashing the stack for fun and profit 译文 原文:Smashing The Stack For Fun And Profit 日期:2000.12.20 作者:Aleph One 译者:xuzq@chinasafer.com‘践踏堆栈’[C语言编程] n. 在许多C语言的实现中,有可能通过写入例程中所声明的数组的结尾部分来破坏可执行的堆栈转载 2017-04-11 15:24:31 · 41376 阅读 · 0 评论 -
格式化字符串漏洞利用 二、格式化函数
二、格式化函数格式化函数是一类特殊的 ANSI C 函数,接受可变数量的参数,其中的一个就是所谓的格式化字符串。当函数求解格式化字符串时,它会访问向函数提供的额外参数。它是一个转换函数,用于将原始的 C 数据类型表示为人类可读的字符串形式。它们在几乎任何 C 程序中都会使用,来输出信息、打印错误信息或处理字符串。这一章中,我们会涵盖格式化函数使用中的典型漏洞,正确用法,它们的一些参数,以及格式化字符翻译 2017-04-12 11:07:01 · 40458 阅读 · 0 评论 -
格式化字符串漏洞利用 一、引言
一、引言 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2这篇文章解释了某种现象的本质,它已经在 2000 年的下半年震惊了整个安全社群。它就是“格式化字符串漏洞”,是一种被发现的新型漏洞,并且会导致一系列的可利用 bug,它们在各种程序中都有发现,从小型工具到大型服务器应用。这篇文章尝试解释该漏洞的结构,并随后使用这翻译 2017-04-12 10:10:30 · 40131 阅读 · 0 评论 -
雪城大学信息安全讲义 一、引言
一、引言 原文:Overview of Computer Security 译者:飞龙1.1 概览优秀的安全专业人员拥有两个重要的技能:(1)安全的感知,以及(2)安全原则的知识。我希望完成这门课的学生可以拥有二者。拥有不意味着“知道”;它意味着能够应用这些技能。1.2 风险和威胁使用计算机系统时的风险:你正在公共图书馆中写你的大作业,并且远程登录到了你学院的 UNIX 服务器。你翻译 2017-04-18 15:15:32 · 40577 阅读 · 2 评论 -
雪城大学信息安全讲义 二、Unix 安全概览
二、Unix 安全概览 原文:Unix Security Basics 译者:飞龙1 用户和用户组用户root:超极用户(UID = 0)daemon:处理网络。nobody:不拥有文件,用作非特权操作的默认用户。 Web 浏览器可在这个模式下工作。用户需要使用密码登录。加密的密码储存在/etc/shadow。用户信息储存在/etc/passwd,之前(不再)用于储存密码翻译 2017-04-18 15:16:30 · 38228 阅读 · 0 评论 -
格式化字符串漏洞利用 三、格式化字符串漏洞
三、格式化字符串漏洞 原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2格式化字符串漏洞的通常分类是“通道问题”。如果二类不同的信息通道混合为一个,并且特殊的转义字符或序列用于分辨当前哪个通道是激活的,这一类型的漏洞就可能出翻译 2017-04-14 11:53:57 · 43844 阅读 · 1 评论 -
雪城大学信息安全讲义 3.1 Set-UID 机制如何工作
三、Set-UID 特权程序 原文:Set-UID Programs and Vulnerabilities 译者:飞龙这个讲义的主要目标就是来讨论特权程序,为什么需要他们,他们如何工作,以及它们有什么安全问题。特权程序是可以给予用户额外权限的程序,这些权限超出了用户已有的权限。例如,Web 服务器是特权程序,因为他允许远程用户访问服务端的资源;Set-UID 程序也是个特权程序,因翻译 2017-04-18 17:26:48 · 39289 阅读 · 0 评论 -
格式化字符串漏洞利用 四、利用的变体
四、利用的变体 原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2漏洞利用是一门艺术。就像任何艺术一样,有不止一种完成事情的方式。通常你并不想走别人已经走过的路来利用东西,而是利用你的目标环境、经验、发现和使用程序中现存的行翻译 2017-04-14 15:15:07 · 39781 阅读 · 3 评论 -
格式化字符串漏洞利用 五、爆破
五、爆破 原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2当利用这种漏洞,例如缓冲区溢出或者格式化字符串漏洞时,它通常会失败,因为没有当心最后的障碍:将所有偏移弄正确。基本上,寻找正确的偏移意味着“将什么写到哪里”。对于简翻译 2017-04-14 16:05:38 · 39054 阅读 · 0 评论 -
格式化字符串漏洞利用 六、特殊案例
六、特殊案例 原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2有一些可以利用的特定场景,不需要了解所有偏移,或者你可以使利用更加简单,直接,最重要的是:可靠。这里我列出了一些利用格式化字符串漏洞的常见方法。6.1 替代目标翻译 2017-04-14 19:33:00 · 39954 阅读 · 0 评论 -
雪城大学信息安全讲义 七、格式化字符串漏洞
七、格式化字符串漏洞 原文:Format String Vulnerability 译者:飞龙printf ( user_input );上面的代码在 C 程序中十分常见。这一章中,我们会发现如果程序使用权限运行(例如 Set-UID 程序),可能造成什么问题。1 格式化字符串什么是格式化字符串?printf ("The magic number is: %d\n", 1911);翻译 2017-04-22 11:13:22 · 40234 阅读 · 4 评论