命令注入攻击的源头就在于函数shell_exec0的不恰当使用。普通用户和攻击者都可以使用Web应用程序提供的功能,但是攻击者会利用这个机会来执行附加命令,例如控制服务器下载木马文件,从而控制服务器。其实这个问题有多种解决方法:
1.最初,人们认为命令注入攻击是一种Shell命令注入攻击,1997年,一名挪威程序员意外发现了该命令。与从本地磁盘上删除文件一样,第一个命令注入攻击程序也可以从网站上随意删除网页。
2.在黑客的世界中,不同的软件系统都有其特有的命令输入方式。通常命令会注入攻击场景:当只需要输入数据时,攻击者就会构建数据,输入恶意命令代码,系统就不会过滤,恶意命令代码一起执行,最终导致信息泄漏或数据损坏;
3、进行下列场景实验,打开UAV网页:
4.这是ping函数的一个简单页面。在输入IP之后,执行ping命令并返回结果。请在“输入IP地址:127.0.0.1”框中输入。在提交之后,您将看到命令执行完毕后返回的消息:
5.考虑到操作系统的固有特点,多条指令可通过连接器执行:
如果命令1执行成功,则命令1和2执行命令2。
如果命令1不能执行,则命令1||命令2。
(实际上连接器的组合很多,而且据说windows和linux都支持&和|连接器)。
6.在“输入IP地址”输入框中输入“127.0.0.1&&echo'helloworldworldl'”模拟攻击者。在执行ping命令时,除了执行正常之外,还可以看到结尾处的echo“helloworld”(helloworld以引号表示,有点土);
7.在“输入IP地址:”输入框中输入“123||netuser”模拟攻击者。在提交之后,您将看到ping命令已失败,net用户命令已执行:
8.攻击者一旦发现命令注入漏洞,就可以对目标系统执行任意命令,通常是将服务器转移出去。