zoukankan      html  css  js  c++  java
  • Pikachu- RCE 远程系统命令/ 代码执行

    RCE

    remote command/code execute

    远程系统命令/ 代码执行

    系统从设计上需要给用户提供指定的远程命令操作的接口。可以测试一下自动运维平台。

    在PHP中,使用system、exec、shell_ exec、passthru、pcntl_exec、popen、proc_popen等函数可以执行系统命令。

    系统命令拼接

    windows

    1. “|”:管道符,前面命令标准输出,后面命令的标准输入。例如:help |more
    2. “&” commandA & commandB 先运行命令A然后运行命令B
    3. “||” commandA || commandB 运行命令A,如果失败则运行命令B
    4. “&&” commandA && commandB 运行命令A,如果成功则运行命令B

    linux

    1. “|”:管道符,前面命令标准输出,后面命令的标准输入。例如:help |more
    2. “&” commandA & commandB 先运行命令A然后运行命令B
    3. “||” commandA || commandB 运行命令A,如果失败则运行命令B
    4. “&&” commandA && commandB 运行命令A,如果成功则运行命令B
    5. “;” commandA && commandB执行完A执行B

    127.0.0.1

     127.0.0.1 & ipconfig/all

     查看代码,如果是windows系统 输入的ip直接ping 

    代码执行

    大部分语言有类似eval()函数,将字符串当作代码执行。可以尝试写webshell。

    PHP:eval,assert,preg_replace()+/e 模式
    Javascript:eval
    Vbscript:Execute、Eval
    Python: exec
    Java: Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等,这些都能够造成代码执行漏洞。

     phpinfo();

    查看源码,提交内容进入了  @!eval中  如果不报错 就执行  报错就会输出一句话

    所以我们可以利用这个漏洞 进行代码的输出。

  • 相关阅读:
    LOJ#6501. 「雅礼集训 2018 Day4」Cube 题解
    LOJ#6510. 「雅礼集训 2018 Day8」A 题解
    LOJ#6513. 「雅礼集训 2018 Day10」足球大战 题解
    LOJ#6507. 「雅礼集训 2018 Day7」A 题解
    LOJ#6038. 「雅礼集训 2017 Day5」远行 题解
    Luogu P4208 [JSOI2008]最小生成树计数
    CodeForces 916D Jamie and To-do List
    CodeForces 573B Bear and Blocks
    CodeForces 460C Present
    CodeForces 786B Legacy
  • 原文地址:https://www.cnblogs.com/xingyuner/p/12309253.html
Copyright © 2011-2022 走看看