微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

只需在Linux中键入命令并在执行’/ bin / sh’后键入相同的命令有什么区别?

我知道/ bin / sh是一个执行我输入的命令的shell.
但问题是虽然我没有输入/ bin / sh,但我可以输入我想要的任何命令.

我听说当一个黑客想要攻击某人时,他或她通常想要/ bin / sh.特别是,我听说/ bin / sh与缓冲区溢出和远程shell一起提到,并且破解者可以使用/ bin / sh执行的恶意代码来利用程序,例如exec(“bin / sh”,〜某些东西) ;.

我很好奇为什么他或她试图“获取”/ bin / sh或执行它.

我也不确定在执行/ bin / sh之后输入命令和键入相同命令之间的区别,就像在此终端交互中看到的那样:

johndoe@localhost $pwd
/home/johndoe
johndoe@localhost $/bin/sh
sh-3.2 $pwd
/home/johndoe
sh-3.2 $whoami
johndoe
sh-3.2 $

虽然我没有执行/ bin / sh,但我仍然可以键入我要键入的任何命令.那么黑客为什么以及何时想要使用/ bin / sh?

解决方法:

登录时,您将获得一个shell.它可能是/ bin / bash,或/ bin / sh,或者(遗憾地)/ bin / csh,因此您可以在该shell中键入命令.如果你调用/ bin / sh,你获得的收益并不多:你只是得到一个新的shell.破解者想要执行/ bin / sh的原因是它们最初可能不在shell中.他们可能正在运行一些应该限制他们调用命令的程序,所以获得/ bin / sh是一个巨大的收获.坦率地说,破解者不关心他们是否得到/ bin / sh或/ bin / bash甚至是/ bin / csh:重点是获得根级shell,以便他们可以执行任意命令.如果他们能够使setuid程序产生一个shell,他们就会在盒子上获得root权限. (也就是说,如果他们运行像弹出一样的命令,当他们欺骗它来生成一个shell时,他们获得的shell具有root权限.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐