首页
社区
课程
招聘
[原创]pwnable.kr input 分析
发表于: 2020-6-20 20:17 19414

[原创]pwnable.kr input 分析

2020-6-20 20:17
19414

最近做htb的时候遇到了一个bof的题,但是由于很久之前学过的东西有点想不起,所以就找到了一个pwn的平台的练习。做了几个发现实际难度并不是很大,直到做到这个input的时候,感觉难度一下子就上来了(可能是对于linux理解太菜了,昨天看了一天),所以想进行一下详细的分析,希望可以把这道题所有的知识点都吃透。

本篇文章想从目标c语言开始分析,分析对应的汇编,以及到python和c两种语言的poc编写。

图片描述

发现c中需要满足5个要求,方能得到flag,所以我们也分成5个部分进行分析

这里c语言描述的是需要至少100个参数,并且argv['A']得是\x00
也就是终止符,argv['B']为\x20\x0a\x0d.

由于直接写在ida中比较方便也比较清楚,所以就直接标注在ida里了。
图片描述

效果如下:
图片描述

效果如下:
图片描述

这里作为c语言来说理解还是比较简单的,第一个read,读取标准输入,就是从键盘上获取一个标准输入,第二个read,获取标准错误输出,然后进行对比。真正的难点就是去如何构造这个标准错误输出了,输入还是比较好构造的。

图片描述
感觉看了源码之后发现ida看起来也很清楚了

相对于c来说,还是觉的解决问题,python更快一点。
效果:
图片描述

效果如下:
图片描述

这里还是要说一下的,不然的话就没什么意义了。

涉及到知识点:
pipe,linux下的管道问题,这个管道有俩,一个是输入,一个是输出,我们需要做的就是控制这个输出的内容。
根据查到的资料,可以利用先fock一个子进程,在子进程进行输入,然后主进程复制文件流,拿到输出。此时就满足了题目的要求。但是之后发现不需要fock子进程,直接写也是可以的,没什么问题。
最终的实质就是利用pipe构造了标准错误输出。

这里的重点就是getenv,查了一下详细的说明如下。
该函数返回一个以 null 结尾的字符串,该字符串为被请求环境变量的值。如果该环境变量不存在,则返回 NULL。
我们的目标就是要构造一个环境变量

图片描述

图片描述

c语言也是直接设置就可以。

图片描述

这里就是读取一个文件,然后读取的内容为\x00\x00\x00\x00即可。

图片描述

图片描述

图片描述

这里的socket就是开了一个argv['C']的端口的socket,只要传进去一个 \xde\xad\xbe\xef就可以了。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-6-21 21:14 被王嘟嘟编辑 ,原因:
上传的附件:
收藏
免费 5
支持
分享
最新回复 (7)
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
这题有附件吗?若有,麻烦上传一下
2020-6-21 18:34
0
雪    币: 1110
活跃值: (569)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
3
Editor 这题有附件吗?若有,麻烦上传一下
有的,已上传
2020-6-21 21:15
0
雪    币: 1535
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享~
2020-6-24 15:24
0
雪    币: 22
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
想问问楼主题目附件是怎么拿下来的啊,还是说自己把源码弄下来编译呢
2020-11-13 14:13
0
雪    币: 499
活跃值: (2189)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
CharesFang 想问问楼主题目附件是怎么拿下来的啊,还是说自己把源码弄下来编译呢[em_23]
scp 能下载下来   scp -P 2222 -r  input2@pwnable.kr:/home/input2 /tmp/input2  密码guest
2021-1-5 14:34
0
雪    币: 22
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Zard_ scp 能下载下来 scp -P 2222 -r input2@pwnable.kr:/home/input2 /tmp/input2 密码guest
感谢大佬啦!
2021-1-19 14:27
0
雪    币: 228
活跃值: (582)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

<这里原本是一个很傻的问题,现在删除了>

最后于 2021-10-4 21:25 被KSr01dO编辑 ,原因:
2021-9-6 18:04
1
游客
登录 | 注册 方可回帖
返回
//