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


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

    1. PHP中常见代码执行函数:
    2. array_map()
    3. eval()
    4. assert()
    5. preg_replace()
    6. call_user_func()
    7. $a($b)动态函数
    8. PHP中常见系统命令执行函数:
    9. system()
    10. exec()
    11. shell_exec()
    12. passthru()
    13. popen()
    14. 反引号"`"

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

    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文件

     


    这篇文章就先写到这里了

  • 相关阅读:
    abc324 e
    产品流程图设计
    leetcode:2478. 完美分割的方案数【预处理 + dp定义 + 前缀和优化】
    12c向19c迁移:OGG基本配置
    前端性能精进(六)——网络
    python_计算股票指标
    <C++>学习:类与对象
    深度思考rpc框架面经之五:rpc限流:rpc事务:tps测试
    Prometheus(三)node-exporter
    部署LVS-NAT群集实验
  • 原文地址:https://blog.csdn.net/weixin_54055099/article/details/126909954