zoukankan      html  css  js  c++  java
  • 09 命令执行

    9-1.命令执行介绍
    1)命令执行漏洞原理
    命令执行漏洞定义:WEB应用程序接收用户输入,拼接到要执行的系统命令中执行。
    产生原因:
    1、用户输入未过滤或净化;
    2、拼接到系统命令中执行。
    2)PHP下命令执行函数
    在PHP中具有执行系统命令功能的函数如下等:
    1、system
    2、exec
    3、shell_exec
    4、passthru
    5、popen
    6、proc_popen
    提示:在某些情况下,要注意存在以上函数的php文件,有可能是webshell.
    3)命令执行漏洞代码分析
    以下给出一个存在命令执行漏洞的简单代码。
    参考链接:http://www.php.net/manual/zh/function.system.php

    4)命令执行漏洞案例演示
    在windows下执行ipconfig来获取网卡信息

    9-2.Windows命令执行漏洞利用技巧
    1)命令执行示例代码分析
    以下使用PHP代码,对指定目标执行ping命令

    2)命令执行漏洞利用思路
    代码中拼接用户的输入并代码system函数执行,但是无法直接执行用户的自定义命令。
    思路:
    截断输入,重新拼接。两条命令都输入并执行。
    3)命令执行漏洞拼接符介绍
    在windows系统下的cmd命令中,有以下一些截断拼接符。
    &前面的语句为假则直接执行后面的
    &&前面的语句为假则直接出错,后面的也不执行
    |直接执行后面的语句
    ||前面出错执行后面的

    正常情况下:
    ping 127.0.0.1
    ping 111&ipconfig
    ping 127.0.0.1&&ipconfig
    ping 127.0.0.1|ipconfig
    ping 111||ipconfig
    4)命令执行漏洞利用演示
    使用拼接符从而利用命令执行漏洞执行ipconfig命令

    9-3.Linux命令执行漏洞利用技巧
    1)命令执行示例代码分析
    以下使用PHP代码,对指定目标执行Ping命令。

    2)Kali linux测试环境搭建
    启动apache服务,service apache2 start
    拷贝代码到 /var/www/html/目录下的一个文件中
    3)命令执行漏洞拼接符介绍
    在Linux系统下的shell命令中,有以下一些截断拼接符。
    在Linux上,上面的;也可以用|、||代替
    ; 前面的执行完执行后面的
    | 是管道符,显示后面的执行结果
    || 当前面的执行出错时执行后面的
    4)命令执行漏洞利用演示
    使用拼接符从而利用命令执行漏洞执行ifconfig命令
    http://xxx/cmd3.php?cmd=127.0.0.1;ifconfig

  • 相关阅读:
    POJ 1330 Nearest Common Ancestors(LCA Tarjan算法)
    LCA 最近公共祖先 (模板)
    线段树,最大值查询位置
    带权并查集
    转负二进制
    UVA 11437 Triangle Fun
    UVA 11488 Hyper Prefix Sets (字典树)
    UVALive 3295 Counting Triangles
    POJ 2752 Seek the Name, Seek the Fame (KMP)
    UVA 11584 Partitioning by Palindromes (字符串区间dp)
  • 原文地址:https://www.cnblogs.com/Ben-john/p/14698703.html
Copyright © 2011-2022 走看看