[WriteUp] pwnable.kr -- [shellshock]

题目:

[WriteUp] pwnable.kr -- [shellshock]_第1张图片

解:

  1. 登录
  2. 检测是否存在shellshock漏洞:
  3. 上图有意思的地方在于,当输入“bash”时,没有触发shellshock漏洞;而“./bash”则触发了。究其原因,该服务器默认的bash程序没有shellshock漏洞,而当前目录下的这个vulnerable的“bash”是供我们练习专用的。
  4. Shellshock的原理已经被探讨了很多,简单总结一下就是,当环境变量X被如此赋值:一个函数定义后面紧跟命令A(echo vulnerable),子进程(bash)会先执行命令A。而且,命令A在子进程的权限下被执行。
  5. 观察一下shellshock.c的源码,发现它把自己的ruid,euid,suid和rgid,egid,sgid都改成了egid,即shellshock_pwn这个组的effective id。这样它就有权限去读取flag文件了。参考https://blog.csdn.net/findstr/article/details/7330592。[WriteUp] pwnable.kr -- [shellshock]_第2张图片
  6. 然后,我把想要执行的命令(./bash -c "cat ./flag")放在函数后面,再运行shellshock,得到flag:.

你可能感兴趣的:([WriteUp] pwnable.kr -- [shellshock])