此篇为只有19关靶场的流程,若靶场最大关数不同则对应顺序可能有所改变
靶场中很多时候可以查看源代码来知晓通关方法,但是在实战中,是不断尝试各种方法,无法一开始就确定哪种方法可以成功,故不多解释源码
第一关
上传抓包发现,无法抓到,得到第一关在前端验证的信息
将文件改为jpg格式上传,然后抓包,将jpg改为php(先绕过前端再进行修改)
上传成功,查看完成
第二关
第二关为后端验证,上传后抓包修改
已经为jpg格式无需修改,仍是将文件改为php格式(上传文件开始为jpg);若上传文件为php,将此位置改为jpg
上传完成,查看
第三关
此关对环境有要求,用在线靶场演示,环境正确的话会将后缀为php3,php5,phtml等后缀的文件当成php运行(查看源码后可发现过滤文件)
将php文件后缀修改为php3,php5,phtml等
上传成功,查看
第四关
第四关也需要环境,正常先上传.htaccess文件,再上传jpg格式文件
内容为:
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FileMatch>
意为.htaccess文件文件夹下将jpg格式转换为php识别
另一种方法是从此处学到可以使用第五关方法绕过,抓包,将文件后缀改为php. .
是从此处发现zhuanlan.zhihu.com/p/702993534
上传成功,查看
第五关
利用大小写绕过,改变后缀php
第六关
第六关,将后缀改为php
在后缀php后面加上空格,windows中文件名最后不能出现空格,故空格会被消除
上传成功,查看
第七关
抓包后将后缀改为php.
windows中会自动将后缀的点去掉
上传成功,查看
第八关
抓包后,在后缀添加::$DATA
添加后,网站会将php当作数据流处理,故可以上传成功
上传成功后,查看,将文件后缀的::DATA去除后访问(去除数据流的标识)
第九关
抓包,将后缀改为php. .
此关会将文件名最后的点去除,并去除空格,最后上传文件为php.
原理同第七关相同
第十关
上传php文件查看发现后面的php被删除
抓包后,双写后缀,改为pphphp
上传成功,查看,后缀被改为php,访问成功
十一关
此关应当使用%00截断,抓包后,修改上传路径
需要一定的环境,故使用CTF中文件上传%00截断关卡演示
进入环境
上传木马文件并抓包,我上传为php文件(可以直接上传图片文件),改为jpg,然后在传入位置添加为1.php%00
更改传入位置,相当于使文件内容传入/upload/目录下为1.jpg文件,更改传入位置,使文件内容传为/upload/目录下1.php文件
%00截断,当系统读取到%00时会认为读取已经完成而读取结束
上传成功,打开查看
使用蚁剑连接获取flag(传入木马为POST,GET不再演示)
十二关
此关与上一关大致相同,但是请求方式由GET改为POST,修改位置为
注意,由于为POST请求,应当将数据解码,使用BP快捷将%00进行url解码后上传(选中内容后右键)
十三关
上传图片马,图片马不能单独使用,需要和文件包含漏洞一同使用
给环境添加文件包含漏洞,靶场目录下的include.php文件
文件内容为:
代码:
<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
include $file;
}else{
show_source(__file__);
}
?>
上传图片马
上传成功
利用文件包含漏洞查看成功
十四关
同上一关步骤相同上传图片马
十五关
步骤同十三十四关相同,需注意环境应开启php_exif模块
若使用为小皮面板,开启方式如图
十六关
同样使用文件包含漏洞,但是上传不能为之前的图片马,应当二次渲染
上传二次渲染图片马
使用文件包含漏洞查看
十七关
此关使用条件竞争,我们上传文件后,此关会判断是否符合条件,若不符合则删除,需要趁文件未被删除时运行生成需要的php文件
上传文件内容(生成一个2233.php,后面为该php内容):
代码:
<?php fputs(fopen('2233.php','w'),'<?php phpinfo();?>');?>
上传文件,使用BP抓包右键发送到攻击模块
发送后,清除payload位置
接着点击payload,payload类型选择Null payloads,选择无限重复,开始攻击
该攻击会不断发送我们创建的php,若是打开文件夹会看到php不断生成不断删除
随后在网页不断访问3.php,直到正好没删除时访问到(此图只代表不断访问,不代表访问成功),生成2233.php
生成后便可以停止攻击,打开查看成功
十八关
十八关与十三关相同上传图片马即可
十九关
将文件保存名称改为php.
上传成功,查看
upload靶场19关流程到此结束,若有错误以及问题欢迎讨论