在开始之前,我先声明下,上次答应的DDOS先鸽一鸽 绝对不是因为我懒
(后面我一定补上,哈哈~~),刚好开始学文件上传,那这篇blog我们就来聊聊文件上传吧~
我们先来聊一下这个可以getshell的高危漏洞
. 文件上传漏洞:顾名思义就是用户在网站过滤不严的情况下,攻击者上传恶意的脚本文件,来获取网站的控制权,修改数据库甚至是获取主机权限的操作(这个漏洞比起xss,csrf,ssrf的危害可大多了)
并且在现在的互联网时代,文件上传无处不在:头像图片上传,提交论文....
像这样:(哎,想起来我论文还没写,摆烂~~~)
了解完之后就是靶场的搭建了,但是这个靶场建议下载在虚拟机,因为下载需要关闭防火墙(很离谱~~),下载在phpstudy的WWW目录下之后,不要忘记了在文件夹里面新建一个upload的文件夹来接收你上传的文件 ,然后基本上就可以了!! @__@
废话不多说(好像说了挺多),我们开始第一关
在开始之前,先来解释一下webshell:
WebShell本质上是一段代码或脚本,通常由攻击者注入到受攻击的Web服务器中,以便执行各种操作,如,命令执行,权限提升,攻击其他服务器,数据库访问,文件上传与下载...balabala~~
既然要getshell,那就能木马咯,最简单的来个一句话木马!!!!!(记得关掉防火墙)
/* 我们来解释,并且温习一下这个一句话木马
1. 先声明这是一个php代码
2.@ 错误控制符号,用来屏蔽掉后面可能发生的错误,并且执行
3.eval 接受一个字符串作为参数,并当作php代码来执行
4.$_POST['password'] 从https post请求中获取'password'的参数,以便后来攻击者用这个密码来连接网站
*/
结果发现,不能直接上传php文件,那就可以考虑最简单的js过滤!!
这里又要用到我们的老朋友BurpSuite了 (不得不说,bp真的很好用呢!)
开启抓包,结果与上面相同,说明过滤发生在本地,那我们可以先改一下木马的文件格式.jpg再次抓包! 抓到了!!然后我们把.jpg改为.php 放包~!!!!
BINGO!!!!!! 然后复制链接看一下连上蚁剑~~
Nice!! 成功getshell,如果这是在平时挖洞,最起是个高危 1000-5000¥$ (想想就爽)
这一关还是上传一个木马,那就先尝试一下上一关的做法,发现可以,那就过了???
我们通过bp的抓包发现 除了常规的更改.jpg->.php以外,我们还可以看见 "content-type"
这里就涉及到 MIME-Type了(Multipurpose Internet MailExtensions,它是一种在互联网上传输文件的标准方法)其源码:
所以这个MIME-Type 的作用就很明显了,用来识别上传文件的类型(只允许jpg,png上传)
所以有以下解法
以上就是文件上传的第一次课的作业啦~~,随便提一嘴,小编最近在军训,导致更新缓慢,请谅解 另外!!!!!深圳你的十二月是真的热啊!!!!!! 我这个军爷要被你融化了 !!!!