php一句话木马调用cmd命令,一句话木马(webshell)是如何执行命令的
在很多的渗透过程中,渗透人员会上传一句话木马(简称webshell)到目前web服务目录继而提权获取系统权限,不论asp、php、jsp、aspx都是如此,那么一句话木马到底是如何执行的呢,下面我们就对webshell进行一个简单的分析。
首先我们先看一个原始而又简单的php一句话木马。
看到这里不得不赞美前辈的智慧。
对于一个稍微懂一些php的人而言,或者初级的安全爱好者,或者脚本小子而言,看到的第一眼就是密码是cmd,通过post提交数据,但是具体如何执行的,却不得而知,下面我们分析一句话是如何执行的。
这句话什么意思呢?
php的代码要写在里面,服务器才能认出来这是php代码,然后才去解析。
@符号的意思是不报错。
例如:
如果没有@,如下图,就会报错
为什么呢?
因为一个变量没有定义,就被拿去使用了,
服务器就善意的提醒:Notice,你的xxx变量没有定义。
这不就暴露了密码吗?
所以加上@
为什么pw是密码呢?
那就要来理解这句话的意思了
php里面几个超全局变量
$_GET、$_POST就是其中之一
$_POST['a'];
意思就是a这个变量,用post的方法接收。
(传输数据的两种方法,get、post,post是在消息体存放数据,get是在消息头的url路径里存放数据(例如xxx.php?a=2))
eval()
把字符串作为PHP代码执行
例如:eval('echo 'a'');其实就等于直接 echo 'a';
再来看看
首先,用post方式接收变量pw,比如接收到了:pw=echo 'a';
这时代码就变成
结果:
连起来意思就是:
用post方法接收变量pw,把变量pw里面的字符串当做php代码来执行
所以也就能这么玩:
也就是说,你想执行什么代码,就把什么代码放进变量pw里,用post传输给一句话木马
你想查看目标硬盘里有没有小黄片,可以用php函数:opendir()和readdir()等等
想上传点小黄片,诬陷站主,就用php函数:move_uploaded_file,当然相应的html要写好
你想执行cmd命令,则用exec()
当然前提是:
php配置文件php.ini里,关掉安全模式safe_mode = off,
然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec ,把exec去掉,确保没有exec。
(有些cms为了方便处理某些功能,会去掉的)
看看效果:
现在应该理解,为什么说一句话短小精悍了吧!
我们在看一下一句话在菜刀之类的webshell管理工具里面是如何一句话是如何执行的
其实可以很明显看明白,其实执行的命令就和我们前面写的哪样进行输入输出,执行系统命令操作。
所以只要webshell有足够高的权限,可以做任何你想做的事情。
php一句话木马调用cmd命令,一句话木马(webshell)是如何执行命令的相关推荐
- 如何调用cmd.exe程序,并可以传递一些命令行参数
语句是WinExec("cmd.exe /k 命令行参数",SW_SHOW); 下面是全部解释: 启动 Windows XP 命令解释程序一个新的实例 CMD [/A | /U] ...
- cmd到指定目录并执行命令 mysql到bin目录并执行命令 cmd bat进入指定文件夹中并执行命令
其实就一条命令:(保存为bat格式,注意:有两个and希腊字母 && ) cmd /k "cd /d Your ProjectPath&&Your CMD c ...
- linux shell两条命令,在bash shell终端中执行命令时,若要将多条命令书写在一行中,每个命令之间应用( )符号进行分隔。...
[单选题]DE 杆的角速度的转向为: [判断题]中碳钢的含碳量在0.25%~0.6%之间 [多选题]在大众餐馆吃饭时,应该先( ),之后才能抽烟. [单选题]乳腺癌改良根治术后对患侧上肢肿胀的护理,错 ...
- Python_编写UDP通信编解码类、文件的上传、远程执行命令、黏包
1.UDP通信编解码类 (1) 类 1 # ------------------UDP通信解码编码类------------------------ 2 3 from socket import * ...
- python批量运行cmd_python 批量ssh并执行命令
1.安装paramiko模块 pip install paramiko 可以修改ssh连接超时时间,windows下路径:在安装路径Python\Python36\Lib\site-packages\ ...
- 【shell】Linux Shell远程执行命令
目录 shell远程执行 前提条件: 对于简单的命令: 对于脚本的方式: SSH命令格式 主要参数说明 ssh控制远程主机,远程执行命令步骤 准备工作 基于公私钥认证远程登录可能存在的不足 ssh 执 ...
- day26-3 模拟ssh远程执行命令
目录 模拟ssh远程执行命令 服务器 客户端 模拟ssh远程执行命令 实现在客户端输入执行命令后,返回执行命令的信息.如输入dir,显示当前目录下的所有文件和文件夹 服务器 import socket ...
- 学习笔记(09):Python网络编程并发编程-模拟ssh远程执行命令-代码实现
立即学习:https://edu.csdn.net/course/play/24458/296239?utm_source=blogtoedu 1.服务器端:接收客户端发送的命令,subprocess ...
- php 命令行 循环,Linux_批处理的循环效果脚本,第一次运行 执行命令工A 第 - phpStudy...
批处理的"循环"效果脚本 第一次运行 执行命令工A 第二次运行 执行命令工B 第三次运行 执行命令工A ................ 原理很简单 用if exist 判断 第一 ...
最新文章
- redis value is not an integer or out of range
- 如何进行现场演示(二)
- 转:【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图
- 2019(dotNet全栈开发)公众号回顾
- 复权就是对股价和成交量进行权息修
- [css] 遇到overflow: scroll不能平滑滚动怎么解决?
- 初步看,我要在公司赚取更多的工资,钱多活少离家近
- deeplearning.ai——字符级语言模型-恐龙岛
- 车联网技术与产业发展趋势 学习记录
- 请问大家,有没有法学相关的毕业论文选题 ?
- linux 下载百度网盘资源 centos安装aria2
- 杭州亲历重要时间点记录
- HDU 4489 找出n!个全排列数中的“波浪数” dp 思维,全排列
- python提取cad坐标_教你一个实用的CAD坐标提取技巧
- 区块链入门教程(6)--配置使用控制台
- 泰山OFFICE技术讲座:全网首发:中文字体,字号就是中文字符的宽度
- Linux exec函数
- 计算机电源 安装方向,怎么安装计算机电源
- 轨道运营管理专业自荐书_城市轨道交通运营管理专业自荐信范文【精选】
- Swift实战(一): 剪子包袱锤ios应用
热门文章
- [CC2642r1][syscfg] 中文图形化界面,方便快速熟悉工具使用
- 《Journal of Solar Energy Engineering》期刊介绍(SCI 4区)
- 1660s功耗多少w_gtx660满载功耗是多少
- Electron(基于Vue)中使用IPC
- 冯·诺依曼计算机与现代计算机原理与差别
- 《把时间当作朋友》第1章读后感(一)
- python做人工智能对话_如何用Python制作聊天机器人?
- Unicode对汉字的编码
- HTTP长连接,短链接,持久连接的区别
- 2023年考研计算机数学考什么?