设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【HR】Binary安全 PWN
返回列表
发帖
查看:
428
|
回复:
0
[TSD/原创]
【HR】Binary安全 PWN
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 19:13:15
|
显示全部楼层
|
阅读模式
这里主要写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似乎很像)
可见在修改后缀名的过程中,干扰了系统对于文件打开方式的识别= =如图2
ELF文件的结构如图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;)
图片太多[泪]没称号很难受,下一贴继续[玫瑰][玫瑰]
文件
,
如图
,
执行
,
可以
,
ELF
相关帖子
•
【FUT】iapp上传文件获取直链
•
【FUT】 S变量
•
【解忧】Java和操作系统交互细节
•
【LUR】 Amoli私有云 简约而不简单的私有云网盘搭建程序源
•
【LUR】各种网页挂马方式原理
•
【DMT】<web安全系列>代码审计,SQL漏洞发现
•
【源码分享】【D.M.T】超简约在线留言板,无需登陆直接留言!
•
【FUT】VPS服务器自建SpeedTest客户端网络测速页面
•
discovermgs邮件群发协议【专业发送国外邮箱】或者163邮箱除了QQ邮箱以外都可以发送
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表