今天,我们本篇文章将讲述pass-06,今天,我们讲述的是跟windows绕过相关的办法,这种方法,只能在windows下面去使用,在linux下面它没有这种特性
我们先来分析一下源码
上面这些代码,其实都是一样的,但是这些代码,少了一行代码,就是首尾去空格,防止我们在上传的时候,进行绕过
因为它在里面进行验证的方式,是黑名单,如果我们在验证的时候,后缀名是.php,这肯定是不允许上传的,那如果我们加个php空格,这个时候,我们就能绕过所有的验证方式
空格在我们windows里面是不允许有的,你们可以自己去试一下,会发现是没有的,它自动给替换掉了,无论我们怎么写,怎么弄,就是没有
我们加个空格能绕过黑名单的检测,同时windows还能帮我们把空格给删掉,它正好是.php的结尾,那我们就能够利用这个特性进行绕过,但是这个特性是windows特性,在Linux下面这个特性是没有的,也就是说,如果我们面对的主机是linux,它是没用的,这个方法肯定是用不了的
接下来,我们来实战演示一下
我们上传一句话木马,然后我们抓包一下
我们在文件名后面加个空格
然后我们点forward
它就会提示我们上传成功,我们把路径给拷贝下来,代理关掉,浏览器访问一下
没报错,我们用蚁剑连一下,先清空一下缓存,我们添加,双击
这个也可以去获取我们一句话木马的链接,这样子能够成功绕过我们后台的方式,如果把黑名单改成白名单,这个就比较安全了,同时加个去空格的代码
$file_ext = trim($file_ext); //首尾去空格
那么这个代码也是比较安全的
我们这篇文章,主要是利用了windows的一个特性,创建文章的时候,我们在后台后面是不能够加空格的,加了的话,会自动帮我们抹掉