本文主要内容

  • 文件上传流程、漏洞原因
  • burpsuite简单安装
  • dvwa文件上传简单示例

文件上传

流程:

  • 1.前端选择文件,进行提交
  • 2.浏览器形成POST MultiPart报文发送到服务器
  • 3.服务器中间件接收到报文,解析后交给相关后端代码进行处理
  • 4.后端代码将上传的文件内容写入到临时文件中(PHP特有)
  • 5.写入到文件中,文件名为提交的文件名或以一定规则生成的文件名

文件上传漏洞产生原因

  • 文件上传未对上传的文件进行严格的验证和过滤,容易造成任意文件上传,包括上传动态文件(asp/php/jsp等等)
  • 如果上传的目标目录没有限制执行权限,导致上传的动态文件(比如:webshell)可以正常执行并且可以访问,即造成了文件上传漏洞。

存在上传漏洞的必要条件

  • 存在上传点
  • 可以上传动态文件
  • 上传目录有执行权限,并且上传的文件可执行
  • 可访问到上传的动态文件

上传检测流程

BurpSuite简单安装

  • 简单代理配置

    • 火狐浏览器:选项-》网络设置-》设置

    • burpsuite设置:

使burpsuite支持对DVWA环境(本地环境)进行抓包(此方法仅尝试成功一次,貌似不可行)

  • 在火狐浏览器url栏输入:about:config

  • 然后在搜索栏输入:network.proxy.allow_hijacking_localhost

dvwa文件上传low简单示例

  • burpsuite截包

使burpsuite支持对DVWA环境(本地环境)进行抓包(采用了本地地址ip的访问方式)

  • 将代理都修改为端口9999
  • 测试: