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

只需在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权限.)

标签:bash,shell,unix,linux,cracking
来源: https://codeday.me/bug/20190628/1317544.html