upload-labs less10-14

文章探讨了PHP中str_ireplace函数用于移除文件后缀的安全问题,以及通过白名单、文件路径随机化和%00截断的防御手段。此外,还讨论了在magic_quotes_gpc关闭时,POST请求中利用十六进制编码绕过限制的方法,以及通过getimagesize函数创建图片码webshell的技巧。
摘要由CSDN通过智能技术生成

Less-10

尝试发下php文件发现后缀被删除了,接收到的文件发现。

查看源码,发现str_ireplace()函数,这个函数作用就是,将文件黑名单后缀,改为空字符,文件就没有后缀名了,没有后缀名文件就不会执行。

这个函数是一次过滤,那么可以抓包,把文件后缀改为.pphphp这样在该函数检测时就是会检测到中间php,而使文件后缀留下,p和hp组成php后缀。

Less-11

查看源码发现是做了一个白名单,而且对于文件路径,进行一个随机命名,并拼接与存放路径,这里的存放路径是可以修改的,并且是get请求方法可以使用%00截断后边的拼接。

需要修改文件类型为白名单类型,还要修改文件存储路径修改是upload/shell.php%00

查看下就可以了

Less-12

条件:php<5.3.4

php.ini中的magic_quotes_gpc是off状态的

查看源码

和十一关相同,唯一就是post方法传参,那么我们是不能使用%00截断的,因为会直接输出出来,不进行截断,因此需要修改文件16机制代码在你构建好的upload后,将16进制代码改为00,意思就是0x00

Less-13

查看你源代码,发现是一个图片码,将php命令写入文件中,使用16进制代码

制作命令

copy shell.jpg /b + shell.php /a webshell.jpg

意思就是一个shell图片和一个shellphp文件,组成一个webshell图片文件

搜一下回显的图片地址,访问图片地址就可以了

写一个include.php传入,再利用它来解析图片##include.php

<?php/*

本页面存在文件包含漏洞,用于测试图片马是否能正常运行!

*/

header("Content-Type:text/html;charset=utf-8");$file = $_GET['file'];if(isset($file)){

include $file;

}else{

show_source(__file__);

}?>

访问地址就可以了

upload/include.php?file=./upload/图片名称

Less-14

查看源码注意到getimagesize函数,这个函数的意思是会读取图片文件16进制编码的图片系数

在脚本文件开头补充图片对应的头部值例如:GIF89a

然后绕过就行,和13类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值