这节课,我们要讲pass-12,pass-12和pass-11其实,没有什么本质的区别,只不过利用的方式稍微有点变化,我们先做下实验,做上传的木马文件进行拦截
我们看到包里面的内容,跟上节课参数有点一样,这里有个参数叫save_path,它的值…/upload/跟上节课是一样的,只不过上节课,它的类型是get类型,这个参数类型是post类型,我们按照上节课的思路做一下,我们加个%00,右键repeater,然后,我们在前面加个1a.php,后面yijuhua.php,改成jpg,我们点go
这个时候,他会提示我们上传失败,之所以上传失败,和上一次一样,没有任何差别
但是我们要注意的是上一篇文章是get类型,这节课是post参数,如果说,我明早post参数里面。写了个%00,那后台在接受到的时候,就认为是字符串的%00,它不会给我们做解码,字符串的%00和16进制的%00,完全不一样,所以说,我们在做这个字符的时候,要注意,它这个类别
我们这次换成在…/upload/的后面加个加号,在我们的hex里面改,hex会把整个HTTP请求,做成一个16进制的一个编码
我们看一下内容
有了,我们发送过去
它提示,只允许.jpg|.png|.gif的上传
我们在…/upload/地方加了个00截断,那如果我们把00截断,换到php这个位置呢,
执行
提醒我们只允许上传图片类型
这个时候,它会校验我们yijuhua.php后面的文件名,所以说,这个地方,我们要改成jpg,…/upload/123.php这个地方要改成我们的00截断
我们点send
这个时候,就上传成功了,我们把这个文件的路径拷贝一下,浏览器访问
没有404,说明上传成功了
这个时候,菜刀连一下
这样子,我们同样可以得到webshell,这篇文章的思路和上一篇的思路一样的,只是一个是get型,一个是post型