9.3任务
- 文件上传防御手段及绕过手段总结
- 文件上传常用一句话木马
- 课中所讲的三种webshell管理工具的使用方法(演示使用该工具连接webshell及抓取流量包进行分析特征)
- 文件上传无回显如何查找webshell地址
- 文件上传表单的无参/有参情况下构造表单 – 加分项
- upload-labs靶场通关第6-第10关
网安实习日志7
一、文件上传防御手段及绕过手段总结
1、文件上传漏洞防御方法
- 检查文件上传路径 ,避免 0x00 截断、目录遍历
- 文件扩展名检测,验证文件扩展名,通常有两种方式 : 黑名单和白名单
- 文件 MIME验证
- 文件内容检测,避免图片中插入 webshell
- 图片二次渲染,基本上完全避免了文件上传漏洞
- 文件重命名,如随机字符串或时间戳等方式
- 隐藏上传路径
2、文件上传漏洞绕过方法
客户端检测绕过检测(js)
- 利用谷歌浏览器设置里禁止js
- 利用burp等代理工具
服务端检测绕过(MIME)
- 通过brup代理工具抓包修改提交http头部的content-type字段信息,或者使用挂马图片
服务端检测绕过(文件内容)
- 文件头检测:在木马内容的前面插入对应的文件头内容,更好的方法是在可上传的文件中插入木马代码,然后修改后缀,常见图片一句话形式
- 文件加载检测:这个检测是最难绕过的,一般是调用API函数去进行文件加载测试,对渲染/加载测试攻击代码注入绕过
二、文件上传常用一句话木马
1、概述
在很多的渗透过程中,渗透人员会上传一句话木马(简称Webshell)到目前web服务目录继而提权获取系统权
限。
2、控制木马条件
只要攻击者满足三个条件,就能实现成功入侵:
- 木马上传成功,未被杀
- 知道木马的路径在哪
- 上传的木马能正常运行
3、常见的一句话木马
php: <?php @eval($_POST['pass']);?>、<?php system($_GET['cmd']);?>
asp: <%eval request ("pass")%>
aspx: <%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>
三、webshell管理工具的使用方法
1、冰蝎
介绍
冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端,由于通信流量被加密,传统的WAF、IDS 设备难以检测,给威胁狩猎带来较大挑战。
特点
冰蝎其最大特点就是对交互流量进行对称加密,且加密密钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测。
安装及使用
首先下载文件
然后在安装路径cmd输入命令行
jaav -jar Behinder.jar
回车启动
使用生成木马—>协议名称—>生成服务器
就会生成shell.php
将shell.php上传至web目录,然后进行添加
保存后即可进入
四、文件上传无回显如何查找webshell地址
1、查看服务器日志
检查Web服务器的访问日志和错误日志,特别是与文件上传相关的请求和响应记录。这些日志可能包含文件上传后的处理路径或错误信息,从而间接帮助定位Webshell。
2、审查前端代码
查看文件上传表单的HTML代码和相关的JavaScript逻辑,看是否有隐藏的表单字段或JavaScript代码片段可能泄露文件上传的路径信息。
3、使用Webshell扫描工具
使用Webshell查杀工具对网站进行全面扫描。
五、文件上传表单的无参/有参情况下构造表单
1、无参数构造表单
无参数构造是指表单中只包含文件输入字段,没有其他额外的输入字段。
2、有参数构造表单
有参数公构造是指表单中除了文件输入字段外,还有其他类型的输入字段。
六、upload-labs靶场通关第6-第10关
第6关
查看提示,发现文件大小写过滤不严谨,可以绕过
尝试修改数据包上传,成功上传并且解析