• 20:WEB漏洞文件上传之基础及过滤方式


    思维导图

    知识点

    1.什么是文件上传漏洞?

    • 有文件上传不一定存在漏洞
    • 凡是存在文件上传功能的地方都可以进行文件上传漏洞测试
    • 上传文件操作的代码的完整性、安全性,决定了是否会造成文件上传漏洞。如果开发者疏忽了文件上传代码某一方面的验证,就可能造成文件上传漏洞。
    • 文件上传漏洞是指攻击者上传了一个可执行的文件到服务器并执行,这里上传的文件可以是木马,病毒,恶意脚本或者webshell等。

    2.文件上传漏洞有哪些危害?

    • ​ 如果上传的文件可以自定义,比如上传一个webshell网站后门,那么攻击者可以直接获取网站权限,这属于高危漏洞,获取到权限之后,我们可以进行服务器提权、获取内网权限、获取网站相关数据权限等。

    3.文件上传漏洞如何查找及判断?

    • 查找方式分为
    • 黑盒查找:查找文件上传功能点常见位置比如文件后台、会员中心,文件扫描(通过扫描工具获取敏感信息)
    • 白盒查找:通过代码分析、查找是否存在文件上传的漏洞(前提:有对应网站源码)

    4.文件上传漏洞有哪些需要注意的地方?

    • ​对文件上传类型进行区分,是属于编辑器文 件上传,还是属于第三方应用,还是会员中心。要先确认文件上传是什么类型,再选择用什么类型方法对它进行后期测试。

    5.关于文件上传漏洞在实际应用中的说明?

    本课重点

    • 案例1:常规文件上传地址的获取说明
    • 案例2:不同格式下的文件类型后门测试
    • 案例3:配合解析漏洞下的文件类型后门测试
    • 案例4:本地文件上传漏洞靶场环境搭建测试
    • 案例5:某CMS及CVE编号文件上传漏洞测试

    案例1:常规文件上传地址的获取说明

    • 1).百度高级搜索,搜索关键字:inurl:upload.php,随机搜索网上的一些文件上传接口。
    • 2).百度高级搜索,针对特定网址搜索关键词:site:xxx.com upload,搜索特定网站的文件上传接口。
    • 3).通过扫描工具扫描,获取到特定网站的文件上传位置。
    • 4).手工寻找文件上传功能点,根据经验,上传一般存在于文件后台、会员中心等位置(上传头像等)。

    案例演示

    <1>百度高级搜索,搜索关键字:inurl:upload.php,随机搜索网上的一些文件上传接口。

    下面这个地址是通过百度搜索关键词搜索出来的

    <2>百度高级搜索,针对特定网址搜索关键词:site:xxx.com upload,搜索特定网站的文件上传接口。

    <3>通过扫描工具扫描,获取到特定网站的文件上传位置。

    案例2:不同格式下的文件类型后门测试

    我们需要根据网站使用的语言来上传对应的脚本,比如针对PHP网站,我们只有上传.php格式的后门才有可以被执行,其他格式不会被执行,jpg等非脚本格式更不会被执行。因此,不要妄想使用一张带有后门脚本的图片就能控制网站。

    案例3:配合解析漏洞下的文件类型后门测试

    案例演示:Nginx 解析漏洞复现

    参考:https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/

    <1>找一张图片,使用notepad++打开,在最后面加上自己的代码。

    <2>上传图片,打开图片在网站所在位置,发现没有执行代码,原因是我们上传图片的后缀是.png。

    <3>但是如果你在图片路径后面加上/1.php,会发现,网页前面乱码,后面执行了代码,显示phpinfo信息。

    <4>原因是这里有一个解析漏洞,此处nginx在格式解析上出现了混乱,将图片解析成了脚本。

    案例4:本地文件上传漏洞靶场环境搭建测试

    下载:https://githuub.com/cOny1/upload-labs

    文件上传第一关解题思路:上传文件时,只有前端校验,后端未二次校验。

    方法1:将前端html下载到本地,删除其中的校验代码,增加action值为服务器上传地址,执行,绕过前端过滤。

    方法2:直接burp抓包修改后缀名

    案例5:某CMS及CVE编号文件上传漏洞测试

    一 finecms v5 会员头像 任意文件上传漏洞

    <1>cms搭建

    <2>找到上传头像功能

    <3>抓包,修改格式为php,服务器返回上传失败

    <4>但是实际上,我们可以在服务器上找到这个文件,说明上传成功了

    <5>因此我们测试文件上传漏洞时,不能仅仅通过返回信息判断是否上传成功。

    也可以直接百度FineCMS的文件上传漏洞进行测试,比如 https://www.cnblogs.com/ichunqiu/p/7453208.html

    二 Weblogic 任意文件上传漏洞(CVE-2018-2894)

    参考:https://vulhub.org/#/environments/weblogic/CVE-2018-2894/

  • 相关阅读:
    vue使用百度统计埋点
    修改JAVA字节码
    由前序遍历和中序遍历构建二叉树-Python
    二叉树的最大深度-Python
    二叉树的层序遍历-Python
    判断是否是对称二叉搜索树
    什么是主动学习方法
    验证二叉搜索树-Python
    DevExpress如何汉化XAF
    python install 失败?
  • 原文地址:https://www.cnblogs.com/zhengna/p/15608178.html
Copyright © 2020-2023  润新知