登录凯特网-QQ技巧|实用软件|技术交流|软件源码|安卓软件!更精彩
【HR】Binary安全 PWN
优选教程 © 文章版权由 admin 解释,禁止匿名转载
评论数
3
浏览数
569
收藏数
0
这里主要写linux下binary安全相关的涉及内容:栈(Stack)的attack利用,主要是栈溢出(Stack Overflow)attack什么是pwn?自行百度分步来讲的话 = = 大概可以概括为以下几点:debug丶利用成功攻破控制Linux下ELF文件ELF文件的是Linux下的可执行文件,与Windows下exe文件不同可以用File命令查看你的文件格式:如图1不过这里有一个很有趣的地方,由于File命令依据文件头判断文件类型,Linux的后缀名并不影响File命令判断文件是ELF文件(即使a.out已经变成了a.zip)不过在文件夹窗口里双击这个.zip, 就会发现:这个ELF文件已经被当成压缩包打开 (这和win似乎很像)可见在修改后缀名的过程中,干扰了系统对于文件打开方式的识别= =如图2ELF文件的结构如图3现在我们再重新审视一下"a.out"这个可执行文件我们刚刚一不小心把它用压缩包的方式打开(如上图)我们看到一堆奇怪的文件:.got.got.plt.plt.text…这些文件实际上代表着这个ELF文件在磁盘里的 一个个 “节”(Section)而当ELF被映射进内存中的时候, 就有了段(Segment)如图4在这里再详细扯一点段与节的东西(嘛 = =, 因为我个人学的时候感觉这块知识对于后面影响挺大的)先扯一下: 段是比节大的qaq这里来一个非常非常经典且重要的图,有请:图5从这张图我们可以到,.data .bss .got.plt节都被映射到了Data(数据)段而.rodata .text .init ELF Header被映射到了Code(代码)段这是为什么呢?前三个节 (懒得仔细写了) 有一个共同的特征:可读可写。因为用户数据是要保存在这里的,如果它不可写的话,显然不彳亍= = 。 很显然,你也不能让它可执行,这样用户就可以写入任意数据并执行了(永远不要相信用户的输入是安全的)后四个节是代码部分,往往是小程序自己的一些东西,所以他是可读可执行,但不可以写= =最后, >__<, 再来个图6;)图片太多没称号很难受,下一贴继续
举报 0
主题
24
帖子
203
关注者
2023-1-16
2022-8-8
2022-7-22
2022-7-20
2022-7-19
Runtime:0.1048s Mem:2011Kb
举报 0