upload靶场通关(12-21关)

文章详细介绍了多个与Web安全相关的上传漏洞利用技术,包括GET型和POST型0x00截断,文件头校验和getimagesize()函数绕过等。每个部分都提供了源码分析、解题步骤和绕过方法,展示了如何利用这些漏洞上传恶意文件并执行代码。

Pass-12(白名单校验(GET 型 0x00 截断))

先看提示:

一头雾水,只知道了上传路径是可控的

查看源码:

能看懂就看看,反正我是看了同学的笔记得知这是白名单,按照文件名进行处理,并将上传的文件保存到save_path
注:本关需要将phpStudy版本调为5.2.17,关闭magic_quotes_gpc选项。

操作如下:

其他选项菜单->php扩展及设置->参数开关设置->把magic_quotes_gpc关闭。

接下来就可以做题了

将1.php(里面是phpinfo函数)上传并抓包

1.url显示参数    2.显示文件名 

修改save_path后的值,表明路径可控,下方将1.php改为1.png用于验证文件类型

本关首先提取了文件后缀名,只允许上传图片文件,但上传路径是可控的,所以我们可以使用%00截断漏洞将上传路径改为文件名。当使用了截断漏洞时,传入的文件名为2.php%001.png,检测时发现后缀为.png,所以没有过滤;保存时由于使用了%00截断,%00后面的字符串不生效,所以最后保存的文件名是2.php

然后send,发现上传成功!

 到源文件中查看,发现2.php已经上传成功!

访问该2.php

 访问成功!

Pass-13(POST 型 0x00 截断)

查看提示还是说路径可控

额。。。。还是查看源码吧:

分析:本关卡考察基于POST方法的截断上传攻击。POST方法较为特殊,直接在明文中添加%00不会被服务器解码,我们需要修改HTTP包中上传路径对应的十六进制值(改为00)进行截断攻击,其原理与Pass-12相同。

还是将1.php(里面是phpinfo函数)上传并抓包

再发现文件保存路径不再是出现在url中,而是把保存路径和文件名称都写在了Content-Disposition

我们现在需要一个十六进制的截断字符,要写一个+占一下位

将1.php改为1.png同样用于验证文件类型

然后点击Hex,+在里面的编码是2b,将其改为00

点击send,上传成功!

到源文件中查看,果然多了一个3.php文件

访问3.php

访问成功!

Pass-14(文件内容检测(文件头校验))

看提示

介又是神马玩意?

看源码看源码:

分析:通过读文件的前 2 个字节,检测上传文件二进制的头信息,判断文件类型

我们就可以利用图片马绕过检测。

本关phpStudy版本>5.3,在php.ini中开启allow_url_fopen选项(改版本前面有,以下是第二步配置的操作)

其他选项菜单->打开配置文件->phg.ini->用记事本打开->找到allow_url_fopen,将其=On

那么图片马怎么制作呢?

事先准备好一个php文件(里面还是写phpinfo,一句话木马也可以)和一张jpg图片

我这里是1.php和2.jpg,且都在桌面创建的 

win+r输入cmd打开命令提示符窗口,cd Desktop进入桌面

再输入copy /b 2.jpg + 1.php 666.jpg

你好!要通关 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、付费专栏及课程。

余额充值