网安upload靶场11-21通关技巧

Pass-11双写绕过

代码编写过程中,只对黑名单中的内容进行空替换,因为只替换一次所以造成双写绕过。

直接将php文件后缀名修改为 pphphp

网安upload靶场11-21通关技巧_第1张图片

网安upload靶场11-21通关技巧_第2张图片

Pass-12GET型00截断

00截断原:0x00是十六进制表示方法,是ascii码为0的字符,在有些函数处理时,会把这个字符当做结束符。系统在对文件名的读取时,如果遇到0x00,就会认为读取已结束。

PHP5.3之后的版本中完全修复了00截断。并且00截断受限与GPC addslashes函数。

GET型提交的内容会被自动进行URL解码。  注意: 一定要关闭GPC,否则无法成功。

网安upload靶场11-21通关技巧_第3张图片

网安upload靶场11-21通关技巧_第4张图片

Pass-13POST型00截断

POST请求中,  %00不会被自动解码,需要在16进制中进行修改00.

网安upload靶场11-21通关技巧_第5张图片

网安upload靶场11-21通关技巧_第6张图片

网安upload靶场11-21通关技巧_第7张图片

网安upload靶场11-21通关技巧_第8张图片

网安upload靶场11-21通关技巧_第9张图片

Pass-14在服务端的PHP代码中,对于用户上传的文件做文件类型检查,查看文件格式是否符合上传规范。可以检 查文件二进制格式的前几个字节,从而判断文件类型是否正确。

针对这种情况可以直接新建要给1.jpg,其中代码内容如下

GIF98A

copy 1.jpg/b+2.php/a 3.jpg 将图片和php文件合并成新的jpg文件

直接上传

网安upload靶场11-21通关技巧_第10张图片

PHP中,使用include require include_once require_once函数包含的文件都会被当作PHP代码执行,   无论文件的名称是什么,只要符合文件内容符合PHP代码规范,都会被当作PHP代码执行。

网安upload靶场11-21通关技巧_第11张图片

网安upload靶场11-21通关技巧_第12张图片

Pass-15和Pass-14一样的方式即可

网安upload靶场11-21通关技巧_第13张图片

网安upload靶场11-21通关技巧_第14张图片

网安upload靶场11-21通关技巧_第15张图片

Pass-16二次渲染

先找一个可以上传的图片,再下载下来利用emeditor和原图对比,白色的地方就是没有渲染的,再将php文件和原图合并生成新的图片文件再使用emeditor打开拿到php代码的16进制,然后再复制到原图上未被渲染的地方保存上传即可,下来我们就一步步操作;

老版的upload靶场(如果新版的16关打不开就使用老版的,老版的只有20关)

链接:https://pan.baidu.com/s/1rsvq_YCMGNxMRQNlbJTCwg?pwd=lszn
提取码:lszn

所需的图片和工具

链接:https://pan.baidu.com/s/168-aJZpCw7z9dy8dnOhGtg?pwd=pce5
提取码:pce5

1、网上找的原图上传

网安upload靶场11-21通关技巧_第16张图片

2、再将上传的图片下载下来

网安upload靶场11-21通关技巧_第17张图片

3、使用emeditor工具进行对比,白色的就是没有被渲染的;

网安upload靶场11-21通关技巧_第18张图片

4、编写phpinfo与原图合并;

网安upload靶场11-21通关技巧_第19张图片

网安upload靶场11-21通关技巧_第20张图片

5、再使用emeditor工具打开,复制16进制的phpinfo代码;

网安upload靶场11-21通关技巧_第21张图片

6、使用emeditor将16进制的php代码复制到原图中保存;

网安upload靶场11-21通关技巧_第22张图片

7、上传使用包含文件访问即可;

网安upload靶场11-21通关技巧_第23张图片

网安upload靶场11-21通关技巧_第24张图片

Pass-17关与Pass-16关一样的方式即可;

Pass-18竞争上传

网站逻辑:

1、网站允许上传任意文件,然后检查上传文件是否包含Webshell,如果包含删除该文件。

2、网站允许上传任意文件,但是如果不是指定类型,那么使用unlink删除文件。

在删除之前访问上传的php文件,从而执行上传文件中的php代码。

例如:上传文件代码如下

' phpinfo(); ?>'); ?>

竞争条件文件上传利用

提前不断访问代码文件,然后上传,最终使用蚁剑连接一句话Webshell

这一关我就不演示了,需要不停的上传直到竞争成功,后期用python写个脚本或者使用bp执行;

Pass-19 将php文件改为jpg文件上传利用include包含执行即可

网安upload靶场11-21通关技巧_第25张图片

网安upload靶场11-21通关技巧_第26张图片

网安upload靶场11-21通关技巧_第27张图片

Pass-20 将php文件改为jpg文件上传利用include包含执行即可,与19关不同的是上传的文件位置不同,执行的时候需要注意;

网安upload靶场11-21通关技巧_第28张图片

网安upload靶场11-21通关技巧_第29张图片

Pass-21 与20关相同

网安upload靶场11-21通关技巧_第30张图片

网安upload靶场11-21通关技巧_第31张图片

补充一个黑名单验证,.user.ini绕过

.htaccess也给过滤了,但没有过滤 .user.ini 文件;

先上传一个以auto_prepend_file=1.gif为内容的.user.ini文件【用户自定义的配置文件】。.user.ini文件里的意思是:所有的php文件都自动包含1.gif文件,.user.ini相当于一个用户自定义的php.ini。然后再上传一个内容为一句话木马的命名为1.gif的文件。上传成功之后,用webshell管理工具添加该图片的路径,但该图片名改为当前目录下的php文件,例如readme.php,输入密码连接成功。

你可能感兴趣的:(网络安全)