Metasploit 命令注入漏洞渗透测试实战

很多Web应用程序向用户提供了十分便捷的系统功能。这些系统功能本来只能在操作系统的命令行工具中实现,例如Ping某个IP地址,查看ARP缓存,添加系统用户,查看、执行或者删除文件等。PHP作为一门脚本语言,本身也提供了一些可以调用外部应用程序的函数。当用户需要执行系统功能时,可以将命令提交给Web应用程序;Web应用程序再将其传递给操作系统的命令行工具并执行。

但是,由于用户的输入是不确定的,Web应用程序必须保证能够过滤那些非法请求,否则这种便利的功能可能被别有用心者利用,成为攻击Web应用程序的途径。

1、PHP语言执行操作系统命令

我们首先了解一下使用PHP语言编写的Web应用程序是如何执行操作系统命令的。PHP语言并不十分复杂,它和C语言有很多相似之处,即使你此前完全没有接触过PHP,也可以很容易地阅读一些简单的代码。

PHP脚本以<?php开始,以?>结束,下面给出了一段最简单的PHP代码。

<?php
echo "Hello World!"; 
?>

这段代码可以在页面上输出“Hello World!”。

当一个页面中需要提交参数时,在PHP代码中可以使用$_REQUEST、$_GET、$_POST来获取提交的数据。

具体介绍如下:

  • $_REQUEST,可以获取以post方法和get方法提交的数据,但是速度比较缓慢。
  • $_GET,用来获取由浏览器通过get方法提交的数据。
  • $_POST,用来获取由浏览器通过post方法提交的数据。

下面代码的功能是从页面中名为cmd的文本框中接收并输出数据,注意这里的数据是以get方法提交的。

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/134680759
今日推荐