核心内容摘要
Wireshark基本介绍和学习TCP三次握手
文件上传漏洞
1.
描述文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤而导致的用户可以越过其本身权限向服务器上传可执行的动态脚本文件。
如常见的头像上传图片上传oa 办公文件上传媒体上传允许用户上传文件如果过滤不严格恶意用户利用文件上传漏洞上传有害的可以执行脚本文件到服务器中可以获取服务器的权限或进一步危害服务器。
1.
危害非法用户可以上传的恶意文件控制整个网站甚至是控制服务器这个恶意脚本文件又被称为 webshell上传 webshell 后门 很方便地查看服务器信息查看目录执行系统命令等。
1.
有关文件上传的知识文件上传的过程客户端 选择发送的文件-服务器接收-网站程序判断-临时文件-移动到指定的路径服务器 接收的资源程序服务器接收资源代码python fastapi框架代码from fastapi import FastAPI, File, UploadFile from typing import List import uvicorn app FastAPI() # file: UploadFile适合大文件上传比较常用 app.post(/uploadFile/) #直接对应UploadFile类型数据 async def create_upload_file(file: UploadFile): #打印文件名称 print(file,file.filename) #将上传的文件保存到服务本地 with open(f{file.filename}, wb) as f: #一次读取1024字节循环读取写入 for chunk in iter(lambda: file.file.read(
, b): f.write(chunk) return {filename: file.filename} if __name__ __main__: #注意run的第一个参数 必须是文件名:应用程序名 uvicorn.run(文件上传:app, port8080, reloadTrue)运行服务客户端文件上传的代码!DOCTYPE html html langen head meta charsetUTF-8 titleTitle/title /head body form actionhttp://
127.
0.
1:8080/uploadFile/ methodpost enctypemultipart/form-data label forfileFilename:/label input typefile namefile idfile / br / input typesubmit namesubmit valueSubmit / /form /body /html选择文件点击提交上传上传成功文件上传漏洞文件上传漏洞分为 直接文件上传这种漏洞类型是属于高危漏洞的一种能直接 getshell而且没有任何限制攻击者很容易通过上传点获取网站的控制权限另外一种是有条件的上传漏洞这种漏洞一般是开发者经验不足对文件上传做了简单的限制如简单的前端认证文件头文件检测这种检测行为可以完全绕过的另外一个方面就是权限认证没处理没有对文件上传页面进行权限认证匿名者就能访问上传文件上传网页后门到网站目录控制整个网站还有一些上传逻辑有问题导致文件上传可以被绕过上传后门到网站上。
有的文件上传漏洞则是通过中间件或者系统特性上传可以被服务器解析脚本文件从而导致网站可被控制。
文件上传漏洞的修复方案在网站中需要存在上传模块需要做好权限认证不能让匿名用户可访问。
文件上传目录设置为禁止脚本文件执行。
这样设置即使被上传后门的动态脚本也不能解析导致攻击者放弃这个攻击途径。
设置上传白名单白名单只允许图片上传如jpg png gif 其他文件均不允许上传上传的后缀名一定要设置成图片格式如 jpg png gif
1.
文件上传的攻击方法寻找测试网站的文件上传的模块常见 头像上传修改上传文件编辑器中文件上传图片上传、媒体上传等通过抓包上传恶意的文件进行测试上传后缀名 asp php aspx 等的动态语言脚本查看上传时的返回信息判断是否能直接上传如果不能直接上传再进行测试上传突破例如上传文件的时候只允许图片格式的后缀但是修改文件时却没有限制后缀名图片文件可以修改成动态语言格式如 php则可能访问这个文件的 URL 直接 getshell可以控制网站。
1.
常见的网站文件后缀名漏洞可执行脚本的文件后缀名可被网站目录解析。
以下是常见的后缀名aspasacdxcerphpaspxashxjspphp3php.ashtmlphtml有些网站会对 asp 或者 php 进行过滤转成空可用这些后缀名。
aspasp asasppphpphp
1.
5.
任意文件上传漏洞任意文件上传漏洞又名文件直接上传漏洞 这种漏洞危害极大如果攻击者能直接上传恶意脚本到网站存放的目录且这个目录可解析动态脚本语言那么攻击者就能够直接获取网站权限甚至进一步权限提升控制服务器。
1.
5.
任意文件上传代码分析php后端代码直接获取文件名 把上传的临时文件移动到 hackable/uploads 目录下直接上传文件 网页会返回路径 访问 url 即可 getshell上传的文件可以改成其他恶意脚本或者后门如中国菜刀一句话后门大马。
即可获得 webshell。
1.
5.
绕过前端 js 检测上传在文件上传时用户选择文件时或者提交时有些网站会对前端文件名进行验证一般检测后缀名是否为上传的格式。
如果上传的格式不对则弹出提示文字。
此时数据包并没有提交到服务器只是在客户端通过 js 文件进行校验验证不通过则不会提交到服务器进行处理。
1.
5.
绕过 js 检测方法按 F12 使用网页审计元素把校验的上传文件后缀名文件删除即可上传。
把恶意文件改成 js 允许上传的文件后缀如 jpg、gif、png 等再通过抓包工具抓取 post 的数据包把后缀名改成可执行的脚本后缀如 php 、asp、jsp、net 等。
即可绕过上传。
删除 js 文件抓包修改后缀名
1.
5.
前端 js 检测后缀代码分析客户端 html 上传文件时会调用 checkFile 函数首先获取文件后缀名。
如果文件为空则弹出“请选择要上传的文件”如果文件不为空获取上传的文件后缀名不 .jpg、.png 、.gif 其中一种则提示“该文件不允许上传”上传失败。
1.
5.
绕过 contnet-type 检测上传有些上传模块会对 http 的类型头进行检测如果是图片类型允许上传文件到服务器否则返回上传失败。
因为服务端是通过 content-type 判断类型content-type 在客户端可被修改。
则此文件上传也有可能被绕过的风险。
1.
5.
分析 content-type 漏洞代码首先进行 submit 提交判断再检测文件类型如果是 image/jpeg 或者 image/png即允许上传。
1.
5.
content-type 检测上传攻击上传文件,脚本文件抓包把 content-type 修改成 image/jpeg 即可绕过上传。
修改后 Content-Type: image/jpeg
1.
5.
绕过黑名单上传上传模块有时候会写成黑名单限制在上传文件的时获取后缀名再把后缀名与程序中黑名单进行检测如果后缀名在黑名单的列表内文件将禁止文件上传。
黑名单代码分析首先是检测 submit 是否有值获取文件的后缀名进行黑名单对比后缀名不在黑名单内允许上传。
绕过黑名单上传的攻击上传图片时如果提示不允许 php、asp 这种信息提示可判断为黑名单限制上传黑名单以外的后缀名即可。
在 iis 里 asp 禁止上传了可以上传 asa cer cdx 这些后缀如在网站里允许.net 执行 可以上传 ashx 代替 aspx。
如果网站可以执行这些脚本通过上传后门即可获取 webshell。
在不同的中间件中有特殊的情况如果在 apache 可以开启 application/x-httpd-php在 AddType application/x-httpd-php .php .phtml .php3后缀名为 phtml 、php3 均被解析成 php 有的 apache 版本默认就会开启。
上传目标中间件可支持的环境的语言脚本即可如.phtml、php3。
学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。
知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。
广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。
实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。
部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。
360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。
内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。
通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。