文件上传 --- uploadlabs靶场

目录

[1 前端和js校验](#1 前端和js校验)

抓包改包

[2 .](#2 .)

[2.1 .htaccess(伪静态)](#2.1 .htaccess(伪静态))

[2.2 %00截断 (php5.2)](#2.2 %00截断 (php5.2))

[2.3 user_init_](#2.3 user_init_)

2.4

[3 图片码防御](#3 图片码防御)

[4 竞争型漏洞](#4 竞争型漏洞)

思路:

容易出现的问题:


1 前端和js校验

关闭JS的代码,上传PHP

抓包改包

思路:上传文件的时候将正常的PHP后缀改成白名单允许的后缀,然后通过抓包的方式修改文件的后缀为php,注意content---type这个,因为一般会判断上传的类型,需要改一下

2 .

那我们想有没有一种就是在程序中有被认为是空格,但是进入系统后,系统就把他认定为是没有后面那个空格?(有这种但是只有在windows系统才会有)

这关写了黑名单,trim去空格等过滤限制

php 复制代码
if (file_exists(UPLOAD_PATH)) {
        $deny_ext = array('.asp','.aspx','.php','.jsp');
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = deldot($file_name);//删除文件名末尾的点
        $file_ext = strrchr($file_name, '.');
        $file_ext = strtolower($file_ext); //转换为小写
        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        $file_ext = trim($file_ext); //收尾去空

2.1 .htaccess(伪静态)

这个方法就是将.htaccess这个文件后缀,不管你上传的是jpg,还是txt,都会最终把他解析为php

2.2 %00截断 (php5.2)

2.3 user_init_

也是有可能实现的,但是必须要当前的系统下面有一个php的文件,才能发挥作用

2.4

这个是因为运维或者开发人员修改了nginx或者apache的配置项,让php2,php3也能解析为php

3 图片码防御

如何防御图片码?

1,将文件上传的文件夹的可执行权限取消掉

2,php中有一个函数可以将上传的图片码打乱,让图片码消失

4 竞争型漏洞

代码问题:把上传文件写在了检测文件之前,这之间就会有几十ms的空隙,我们就可以在shell里面(图片码)用写文件的方式将文件的木马写在他的上一级目录,虽然最后会删除我上传的文件,也有几十ms的时间,但是我的木马由于是写在上一级目录的,所以我的有害文件已经上传成功了

因为是先上传再检测,那我不装了,直接上传php文件

打开bp,抓包,然后用爆破模块,直接发送,看看能不能生成fy.php

思路:

大概流程就是:先在php文件中写一个一句话木马(一定要是创建一个新的目录上一个目录最好,写入数据)如上,然后打开抓包,上传此php文件抓包,送至inturder模块上传,开始竞争一直刷新我的访问upload的文件,一定会成功

容易出现的问题:

最容易出现在商场和订单,就是多线程处理的时候,当我买完最后一个商品还没有下单的时候,下个线程又来了就会出现买一次买很多的这种情况

相关推荐
莞凰10 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer
NiceCloud喜云11 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
ujainu11 小时前
CANN pto-isa:虚拟指令集如何连接编译与执行
android·ascend
赏金术士12 小时前
第六章:UI组件与Material3主题
android·ui·kotlin·compose
TechMerger13 小时前
Android 17 重磅重构!服役 20 年的 MessageQueue 迎来无锁改造,卡顿大幅优化!
android·性能优化
yuhuofei202116 小时前
【Python入门】Python中字符串相关拓展
android·java·python
dalancon16 小时前
Android Input Spy Window
android
dalancon17 小时前
InputDispatcher派发事件,查找目标窗口
android
我命由我1234517 小时前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
天才少年曾牛19 小时前
Android14 新增系统服务后,应用调用出现 “hidden api” 警告的原因与解决方案
android·frameworks