题目:

[WriteUp] pwnable.kr -- [shellshock]

解:

  1. 登录
  2. 检测是否存在shellshock漏洞:[WriteUp] pwnable.kr -- [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][WriteUp] pwnable.kr -- [shellshock]
  6. 然后,我把想要执行的命令(./bash -c "cat ./flag")放在函数后面,再运行shellshock,得到flag:.[WriteUp] pwnable.kr -- [shellshock]

相关文章:

  • 2021-06-11
  • 2021-08-23
  • 2022-01-18
  • 2021-07-10
  • 2022-02-06
  • 2021-10-27
  • 2021-09-25
  • 2021-05-06
猜你喜欢
  • 2021-06-02
  • 2021-12-23
  • 2021-11-13
  • 2022-01-07
  • 2021-07-28
  • 2021-05-26
相关资源
相似解决方案