首页
社区
课程
招聘
[翻译]第二部分:Linux 格式字符串利用
2019-5-24 19:52 5748

[翻译]第二部分:Linux 格式字符串利用

2019-5-24 19:52
5748

第二部分:Linux格式字符利用


首先感谢大家阅读我们的Linux漏洞利用教程系列的第一部分。同时再次感谢Kyuzo花时间与我们分享他的知识!在这一部分中,我们将再次讨论格式字符串的开发利用。格式字符串的漏洞通常发生在程序员想要打印出用户控制的函数,但不清楚用户输入,从而允许恶意攻击者注入自己的格式说明符。这反过来又允许恶意攻击者读写任意内存。

 在我自学格式字符串利用基础知识的过程中,我阅读了两个优秀的资源:(1)利用格式字符串漏洞【scut/team Teso - 2001】和(2)格式字符串利用的进展【gera&riq/Phrack - 2002】。我在下面列举了这两种资源的链接,并强烈推荐它们作为背景阅读。

在讲好东西之前,我想提一下默认情况下,gdb 不能操作AT&T语法中的汇编码,对于我们这些已经完成了Windows开发利用的人来说,这有点令人困惑。幸运的时,你可以使用以下命令轻松改变这种状况。
set disassembly-flavor intel
set disassembly-flavor att

资源:

利用格式字符串漏洞(通过scut):链接
格式字符串利用的进展(通过gera&riq):链接

介绍:

几个月前,b33f和我一起组织额一个关于软件开发的研讨会,将在大学活动中展示。研讨会有两个主要思想:(1)处理非缓冲区溢出漏洞利用;(2)讨论Windows和Linux。因此,我列出一系列不是特别迷人但却更深奥的漏洞列表(!)其中我们就包含有格式字符串,因为在过去几年里,就Linux而言,格式字符串非常重要。举其中一例,在2012年初发布的sudo,在sudo_debug函数中存在格式字符串缺陷,该缺陷随着Fedora和OpenSUSE等主流发行版一起发布。
研讨会结束后,我答应b33f将会为FuzzySecurity贡献一些材料,几个月后,我终于下定决心制作一些关于格式字符串利用的视频。

视频教程第一部分中使用的示例代码:

/* example.c
 * 
 * $ gcc -o example example.c
 * $ execstack -s example # make stack executable
 */
#include <stdio.h>
 
int main() {
    int a = -5;
    float b = 5.5;
    char *c = "My String";
     
    printf("A = %d, B = %f, C = %s\n", a, b, c);
}

视频教程的第一部分和第二部分使用的示例代码:

/* fmt.c - sample program vulnerable to format string exploitation
 * 
 * $ gcc -o fmt fmt.c
 * $ execstack -s fmt # make stack executable
 */
#include <stdio.h>
#include <string.h>
 
int main(int argc, char *argv[]) {
    char b[128];
    strcpy(b, argv[1]);
    printf(b);
    printf("\n");
}


格式字符串漏洞利用教程:

       第一个视频介绍了什么是格式字符串,以及它们如何导致信息泄露(一些主题包括:转换说明符用法和直接参数访问)。
       第二部分向前推进了一步,展示了如何利用神秘的格式字符串功能的程序,例如神秘的%n转换说明符!

视频转移到网盘:https://pan.baidu.com/s/1tFQKfdc5GMyE-MmdP8qUBw   提取码:92wz



[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

最后于 2019-5-27 13:15 被Liary编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 12132
活跃值: (15565)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
pureGavin 2 2019-5-24 20:21
2
0
mark,楼主辛苦了
雪    币: 3446
活跃值: (297)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
Liary 2019-5-25 15:51
3
0
楼主表述平时不想动,突然动弹了下
雪    币: 32403
活跃值: (18860)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2019-5-26 21:33
4
0
建议同一篇文章,放在第一帖子里,可以放不同楼层。而不要新开主题,不方便阅读和查档。
游客
登录 | 注册 方可回帖
返回