本文首发于“合天网安实验室”作者:影子
本文涉及靶场知识点:
任意文件上传漏洞的代码审计01
通过本节的学习,了解文件上传漏洞的原理,通过代码审计掌握文件上传漏洞产生的原因、上传绕过的方法以及修复方法。
0x01
呕吼,各位大表哥们,又是我,影子,上次说了一下arp内网欺骗,但是我是搞web的啊,我搞这干嘛?
今天来次实战求评论,求反响
0x02
大表哥在局域网里面搞了个网站让我日。
大表哥还算好,把验证码给我关了,哈哈哈哈
ps:此方法只适用于特定环境,求评论
![](https://pic1.zhimg.com/80/v2-c5f917e155294177869307f40b33a15e_720w.jpg)
![](https://pic4.zhimg.com/80/v2-c35af4faefb4e3858af02c335998811b_720w.jpg)
0x03
进去先看一眼
![](https://pic1.zhimg.com/80/v2-fba98d37bf7f70ec11ffac4a2a1b61c0_720w.jpg)
大表哥把源码给我了,审一波
![](https://pic1.zhimg.com/80/v2-e651fba9e52a5215c600579308422f34_720w.jpg)
第一个入眼的就是admin
测试一波,大表哥把验证码给关了,真好,哈哈哈哈
![](https://pic4.zhimg.com/80/v2-b1a55f3d4db4cd301dc88f8e1816f115_720w.jpg)
随手试几个
不知道你们有没有看清楚,大表哥第一张给我拍的照片没有打码,哈哈哈,里面有用户名,这算不算信息泄露呢,哈哈哈
![](https://pic1.zhimg.com/80/v2-7ca83829438fc40b1e59dca9c2766154_720w.jpg)
第一张图片可以勉强看出来
![](https://pic4.zhimg.com/80/v2-16cdcc4a99c040f7959d45aaa334f032_720w.jpg)
用户名是admin
大表哥又把验证码关了,哈哈哈,这不就是让我爆破吗
祭出我的神器,burpsuite
![](https://pic4.zhimg.com/80/v2-a4356bbfc4d3574fbaf34a38fdc1c369_720w.jpg)
![](https://pic4.zhimg.com/80/v2-cd75f1f0b787639b6fbaad11b9cf431a_720w.jpg)
密码明文传输
省了我很多事
掏出我的珍藏版字典
![](https://pic4.zhimg.com/80/v2-b3dfb9168ad8ddb97bb033a10009e117_720w.jpg)
![](https://pic2.zhimg.com/80/v2-f832dad793a0409a8472fbe75d5d8052_720w.jpg)
字典很棒哦第二个包就成功了
![](https://pic2.zhimg.com/80/v2-7767cfa9b8721f4c088d9f29ab51195d_720w.jpg)
直接登录
![](https://pic1.zhimg.com/80/v2-ed30e25040b80cc5ddcca1766fcf44ee_720w.jpg)
后台在手,天下我有
![](https://pic4.zhimg.com/80/v2-8e4a66a00aaab697099f896e774de0d8_720w.jpg)
找到一个上传图片的地方
抓一下包,上个shell,完事,哈哈哈哈
![](https://pic2.zhimg.com/80/v2-7a87059c35093b5d032ed6c5fadc63af_720w.jpg)
![](https://pic1.zhimg.com/80/v2-ee7c3fdf00ac9829d121c4bfb8deecc5_720w.jpg)
![](https://pic1.zhimg.com/80/v2-0a139d8d587bda1b54c2b085ac104053_720w.jpg)
再试一下解析漏洞
![](https://pic3.zhimg.com/80/v2-133fb614675050305cea2515cd41b9aa_720w.jpg)
把20改成00
![](https://pic1.zhimg.com/80/v2-0766ec96d7d26c8677f10faa7cdacd4f_720w.jpg)
![](https://pic1.zhimg.com/80/v2-3cb87677009110b97d22ae37fbf66bb6_720w.jpg)
懒得审代码了,直接找度娘
![](https://pic2.zhimg.com/80/v2-541a13f9551e0f719b7174d972dd6373_720w.jpg)
![](https://pic4.zhimg.com/80/v2-7a9d10a52ca49cf671a04ccf39d89079_720w.jpg)
漏洞POC
![](https://pic1.zhimg.com/80/v2-d7a5991e11652ff1869d7cada0947872_720w.jpg)
本地尝试复现
![](https://pic4.zhimg.com/80/v2-e55e9582d20ada3abedba94d5e161425_720w.jpg)
本地复现成功
Then
???
有什么用处?
就一个本地包含,没公开的,我要苦逼的审代码?
那是必然不可能的,一切随缘法
0x04
事情来了转机
![](https://pic3.zhimg.com/80/v2-66ae20ee53362e0e311b957434ab18a0_720w.jpg)
![](https://pic1.zhimg.com/80/v2-2daf13f869d88d1575f23abcf23f487b_720w.jpg)
获取更新列表
![](https://pic4.zhimg.com/80/v2-d49cb53871899a78cfbb9a9e704c7561_720w.jpg)
直接从官网获得更新后的代码,并写入本地
直接上kali
Ssh连上之后
![](https://pic1.zhimg.com/80/v2-efe8a8bc24c3c4d2f41969e31fcd2084_720w.jpg)
![](https://pic1.zhimg.com/80/v2-84c32890a5adea864bd4b01dfe4d23bd_720w.jpg)
![](https://pic4.zhimg.com/80/v2-5bb5404d33ec37d27a45f70c3eff1d46_720w.jpg)
Dns欺骗一下
Etter.dns 添加俩条记录
![](https://pic2.zhimg.com/80/v2-1d34b0be6c96dedbda4b3627c999bfc8_720w.jpg)
这个cms团队的人为了安全考虑
并没有在发行版中添加这个函数
![](https://pic1.zhimg.com/80/v2-8b97cb21b47a71a166c4e7f97cea6443_720w.jpg)
所以说我们现在dns欺骗之后,本地的网站并不会更新成功,所以
直接写一段代码,在网站更新的时候访问的那个网址,直接返回需要的数据
先随便下载个文件,看一下值
![](https://pic4.zhimg.com/80/v2-5aff1b409ffa074c50a11fc406b91757_720w.jpg)
![](https://pic1.zhimg.com/80/v2-bb48659265dbbeaa09c25bc373b76aeb_720w.jpg)
我们可以看到,我们执行的是getServerFile函数
![](https://pic1.zhimg.com/80/v2-add0ec4af38fe49bf88800b553dd5eef_720w.jpg)
![](https://pic4.zhimg.com/80/v2-3c06a58864eb0cb64dc7b17cdc2cf151_720w.jpg)
直接修改
![](https://pic4.zhimg.com/80/v2-5d7c07f230b2abfac8801fa7ad4ea97e_720w.jpg)
访问控制器
![](https://pic1.zhimg.com/80/v2-1ce8f4d5b2b79fe0f63e1e4da805090f_720w.jpg)
更新的根本就是直接获取数据,进行写入
$des 的值就是写入目录
![](https://pic2.zhimg.com/80/v2-a540545b9ae2055d3197eebae297c801_720w.jpg)
我们在我们的start.php
添加一句话木马
并把
![](https://pic1.zhimg.com/80/v2-a4f7131a455540a18ff8159bbfacb877_720w.jpg)
这段代码注释
![](https://pic2.zhimg.com/80/v2-84bbe009e6423c5d00804472122e63b7_720w.jpg)
再次访问getServerFile函数
获取写入一句话木马的值
写一段php代码
在访问这个网址的时候,直接返回这个值
Index.php:
![](https://pic4.zhimg.com/80/v2-dc239ff2f8dfdb895723abe2bd5de190_720w.jpg)
再进行目标网站的更新
![](https://pic3.zhimg.com/80/v2-5fe28a48c9e4bc482ac9b32d21975e22_720w.jpg)
更新的
/doc/ChangeLog.txt
修改为
/core/start.php
![](https://pic1.zhimg.com/80/v2-28ab6cd24af78c07bdb83fabbd7e9760_720w.jpg)
![](https://pic2.zhimg.com/80/v2-9e94c05a0d5645c7833f99a5143e58c0_720w.jpg)
![](https://pic2.zhimg.com/80/v2-c144815351b0e0361f09ac4fb018da89_720w.jpg)
![](https://pic4.zhimg.com/80/v2-e90f967060558de57e57310d9f4a0f4a_720w.jpg)
更新
![](https://pic1.zhimg.com/80/v2-4467f6c4d04fa7e3676092fefbb4290a_720w.jpg)
更新成功
访问小马
![](https://pic2.zhimg.com/80/v2-cc9644d53b2fcd7f4d09d0f2c071af25_720w.jpg)
![](https://pic4.zhimg.com/80/v2-93666e31db40e8c9cb5e909dced38d26_720w.jpg)
![](https://pic2.zhimg.com/80/v2-97dbb579b72743451eb163ef1341af1b_720w.jpg)
![](https://pic4.zhimg.com/80/v2-3f6c70cad5eea55fc42895c5ffbc2a68_720w.jpg)
![](https://pic1.zhimg.com/80/v2-0ca39912df2159f53387df01e843e31d_720w.jpg)
不说了
溜了