【刷题13】CTFHub技能树-文件上传
文件上传泉源:CTFHub技能树
无验证
直接上传一句话木马,会显示路径,直接蚁剑连接找到flag。
https://img-blog.csdnimg.cn/img_convert/47a5fa74c2a5cf7e58695b0cff4feacb.png
https://img-blog.csdnimg.cn/img_convert/16dcefd43c14345fb7ff111d5995368f.png
前端验证
https://img-blog.csdnimg.cn/img_convert/4690fd50e23e4dd1f40c9ea81b3054a6.png
查看源代码,发现进行了前端验证,必须是jpg,png大概gif文件。
直接抓包改包发送绕过
https://img-blog.csdnimg.cn/img_convert/53d623e6b84c09e217e4b0782597fe38.png
https://img-blog.csdnimg.cn/img_convert/bce67b58a5cc90616e395b702b8dd6a7.png
上传成功,直接蚁剑连接找flag就行。
.htaccess
知识:htaccess文件是Apache服务器中的一个设置文件,它负责相干目录下的网页设置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、答应/制止特定的用户大概目录的访问、克制目录列表、设置默认文档等功能
先容:hatccess文件,.htaccess是Apache的又一特色。
● 一样寻常来说,设置文件的作用范围都是全局的,但Apache提供了一种很方便的、可作用于当前目录及其子目录的设置文件——.htaccess(分布式设置文件),
● 提供了针对目录改变设置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。
● 作为用户,所能使用的命令受到限制。
● 简单来说,就是我上传了一个.htaccess文件到服务器,那么服务器之后就会将特定格式的文件以php格式解析。
所以先创建一个 .htaccess的文件,里面输入
<FilesMatch "pass777">
SetHandler application/x-httpd-php
</FilesMatch>
表示文件名中包含pass777的文件都会被看成php执行
所以再写一个一句话木马,文件名中包含pass777,上传后用蚁剑连接就能拿到flag
ctfhub{2428d2cef017f7d0e902eaac}
MIME绕过
直接将一句话木马后缀改成jpg,然后抓包修改成php,蚁剑连接就能拿到
ctfhub{c76881cacfd16db8afee74fd}
00截断
https://img-blog.csdnimg.cn/img_convert/fcc47e5fc0ee7ec7823778f8e2b9e004.png
根据前端提示,发现上传范例限制成了jpg,png,gif文件,而且如果文件范例被答应,构造目标路径($des),该路径由$_GET['road'](从URL的查询字符串中获取),一个随机数(10到99之间),当前日期和时间(格式为YmdHis),以及文件扩展名组成,并使用move_uploaded_file()函数将上传的文件从暂时目录移动到目标目录($des)
所以在路径处修改成.php的路径,然后用%00截断,让后面添加的目录失效
https://img-blog.csdnimg.cn/img_convert/fca4ae206a1af469ef13a51bc2856db3.png
由于我们修改了路径,所以生存路径就是原来的/upload/yjh-cmd.php
蚁剑连接challenge-a074b1b840a3ecbe.sandbox.ctfhub.com:10800/upload/123.php
ctfhub{e158c8b8eb6fdb23553ce830}
双写后缀
<!--
$name = basename($_FILES['file']['name']);
$blacklist = array("php", "php5", "php4", "php3", "phtml", "pht", "jsp", "jspa", "jspx", "jsw", "jsv", "jspf", "jtml", "asp", "aspx", "asa", "asax", "ascx", "ashx", "asmx", "cer", "swf", "htaccess", "ini");
$name = str_ireplace($blacklist, "", $name);
-->
看提示发现过滤了一系列后缀,然后会把后缀替换成无,所以双写绕过,如:yjh.pphphp
ctfhub{a0a5473d07fac34189262488}
文件头检查
先任意上传一个文件,然后有提示
https://img-blog.csdnimg.cn/img_convert/668998a3401bfabf24d0ca33cc1da6be.png
那就抓包修改文件范例,同时在一句话木马前加上GIF89a,用来表示这是一个图片
https://img-blog.csdnimg.cn/img_convert/82675fa0cdb7851ce6a57b88f10fcbb4.png
蚁剑连接得到flag
ctfhub{5602bccd8ab06a8c2408fb81}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]