upload-labs靶场1-19关部分通关流程

        此篇为只有19关靶场的流程,若靶场最大关数不同则对应顺序可能有所改变 

        靶场中很多时候可以查看源代码来知晓通关方法,但是在实战中,是不断尝试各种方法,无法一开始就确定哪种方法可以成功,故不多解释源码

第一关

上传抓包发现,无法抓到,得到第一关在前端验证的信息

将文件改为jpg格式上传,然后抓包,将jpg改为php(先绕过前端再进行修改)

上传成功,查看完成

第二关 

第二关为后端验证,上传后抓包修改

已经为jpg格式无需修改,仍是将文件改为php格式(上传文件开始为jpg);若上传文件为php,将此位置改为jpg

上传完成,查看

第三关 

 此关对环境有要求,用在线靶场演示,环境正确的话会将后缀为php3,php5,phtml等后缀的文件当成php运行(查看源码后可发现过滤文件)

将php文件后缀修改为php3,php5,phtml等

 

上传成功,查看

 

第四关

第四关也需要环境,正常先上传.htaccess文件,再上传jpg格式文件

内容为:

<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FileMatch>

意为.htaccess文件文件夹下将jpg格式转换为php识别

另一种方法是从此处学到可以使用第五关方法绕过,抓包,将文件后缀改为php. .

是从此处发现zhuanlan.zhihu.com/p/702993534

上传成功,查看 

第五关

利用大小写绕过,改变后缀php

第六关

第六关,将后缀改为php 

在后缀php后面加上空格,windows中文件名最后不能出现空格,故空格会被消除

 上传成功,查看

第七关

抓包后将后缀改为php.

windows中会自动将后缀的点去掉

上传成功,查看

第八关

抓包后,在后缀添加::$DATA

添加后,网站会将php当作数据流处理,故可以上传成功

上传成功后,查看,将文件后缀的::DATA去除后访问(去除数据流的标识)

第九关

抓包,将后缀改为php. .

此关会将文件名最后的点去除,并去除空格,最后上传文件为php.

原理同第七关相同

第十关

上传php文件查看发现后面的php被删除

抓包后,双写后缀,改为pphphp

上传成功,查看,后缀被改为php,访问成功

 

十一关

此关应当使用%00截断,抓包后,修改上传路径

需要一定的环境,故使用CTF中文件上传%00截断关卡演示

进入环境

上传木马文件并抓包,我上传为php文件(可以直接上传图片文件),改为jpg,然后在传入位置添加为1.php%00

更改传入位置,相当于使文件内容传入/upload/目录下为1.jpg文件,更改传入位置,使文件内容传为/upload/目录下1.php文件

%00截断,当系统读取到%00时会认为读取已经完成而读取结束

上传成功,打开查看

使用蚁剑连接获取flag(传入木马为POST,GET不再演示)

十二关

此关与上一关大致相同,但是请求方式由GET改为POST,修改位置为

注意,由于为POST请求,应当将数据解码,使用BP快捷将%00进行url解码后上传(选中内容后右键)

十三关

上传图片马,图片马不能单独使用,需要和文件包含漏洞一同使用

给环境添加文件包含漏洞,靶场目录下的include.php文件

文件内容为:

代码:

 <?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
    include $file;
}else{
    show_source(__file__);
}
?> 

上传图片马

上传成功

利用文件包含漏洞查看成功

十四关

同上一关步骤相同上传图片马

十五关 

 步骤同十三十四关相同,需注意环境应开启php_exif模块

若使用为小皮面板,开启方式如图

十六关

同样使用文件包含漏洞,但是上传不能为之前的图片马,应当二次渲染

上传二次渲染图片马

使用文件包含漏洞查看

十七关

此关使用条件竞争,我们上传文件后,此关会判断是否符合条件,若不符合则删除,需要趁文件未被删除时运行生成需要的php文件

上传文件内容(生成一个2233.php,后面为该php内容):

代码:

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

上传文件,使用BP抓包右键发送到攻击模块

发送后,清除payload位置

接着点击payload,payload类型选择Null payloads,选择无限重复,开始攻击

 该攻击会不断发送我们创建的php,若是打开文件夹会看到php不断生成不断删除

随后在网页不断访问3.php,直到正好没删除时访问到(此图只代表不断访问,不代表访问成功),生成2233.php

生成后便可以停止攻击,打开查看成功

十八关

十八关与十三关相同上传图片马即可

十九关

 将文件保存名称改为php.

上传成功,查看

 

        upload靶场19关流程到此结束,若有错误以及问题欢迎讨论

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!要通关 upload-labs 靶场的第 1-21 ,你需要依次完成每个卡的任务。以下是通关每个卡的一些提示: 1. Level 1 - 文件上传漏洞:尝试上传一个恶意文件,看看能否绕过上传限制。 2. Level 2 - 文件包含漏洞:尝试利用文件包含漏洞,读取服务器上的敏感文件。 3. Level 3 - XXE漏洞:在上传的 XML 文件中尝试触发外部实体注入。 4. Level 4 - SQL注入漏洞:利用输入点进行 SQL 注入攻击,尝试获取数据库中的敏感信息。 5. Level 5 - SSRF漏洞:尝试利用服务器端请求伪造漏洞,发起内部网络请求。 6. Level 6 - 文件上传漏洞2:绕过上传限制,上传一个恶意文件。 7. Level 7 - 文件包含漏洞2:利用文件包含漏洞,读取服务器上的敏感文件。 8. Level 8 - 反序列化漏洞:尝试触发反序列化漏洞,执行恶意代码。 9. Level 9 - 文件上传漏洞3:绕过上传限制,上传一个恶意文件。 10. Level 10 - 文件包含漏洞3:利用文件包含漏洞,读取服务器上的敏感文件。 11. Level 11 - XXE漏洞2:在上传的 XML 文件中触发外部实体注入。 12. Level 12 - SSRF漏洞2:尝试利用服务器端请求伪造漏洞,发起内部网络请求。 13. Level 13 - 文件上传漏洞4:绕过上传限制,上传一个恶意文件。 14. Level 14 - 文件包含漏洞4:利用文件包含漏洞,读取服务器上的敏感文件。 15. Level 15 - SQL注入漏洞2:利用输入点进行 SQL 注入攻击,尝试获取数据库中的敏感信息。 16. Level 16 - 文件上传漏洞5:绕过上传限制,上传一个恶意文件。 17. Level 17 - 文件包含漏洞5:利用文件包含漏洞,读取服务器上的敏感文件。 18. Level 18 - 反序列化漏洞2:尝试触发反序列化漏洞,执行恶意代码。 19. Level 19 - 文件上传漏洞6:绕过上传限制,上传一个恶意文件。 20. Level 20 - 文件包含漏洞6:利用文件包含漏洞,读取服务器上的敏感文件。 21. Level 21 - XXE漏洞3:在上传的 XML 文件中触发外部实体注入。 请注意,在完成每个卡时,要仔细阅读相提示和代码,理解漏洞的原理,并尝试不同的方法来解决问题。祝你顺利通关
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值