Fork me on GitHub

分享一次webshell(实战)

前言

某日在公司闲来无事,就在网上随便转转,转着转着发现了国内某高校的一个网站,主要原因还是有个朋友在这个学校读书,想把该站拿下来,然后装个13,意味深长地对他说:你们学校的安全防护措施不行呀,我就随便玩一下就黑进你们学校了。哈哈哈,读者见谅,其实在拿这个站的时候还是遇到了不少问题,后面我会详细介绍遇到的问题以及我是怎么解决这些问题!

信息收集

  1. 公开信息收集,搜集该校一些公开的信息,比如xls,xlsx,或者doc,docx,亦或是pdf文件,因为由于一些管理员的粗心以及错误上传学生信息往往会造成学生,学号,身份证信息的泄露,更巧的是国内绝大数高校登陆网站的默认密码就是学生身份证的后六位。

公开文件信息查找
公开信息收集

发现学生账号以及姓名信息
xls文件学生学号

  1. 子域名收集,由于现在很多的网站都采用身份认证,也就是说如果我们没有目标网站的账号,很多功能的大门是对我们关闭的。所以这时候我们要首先拥有目标网站的账号。获取目标网站账号的方式就太多了,我们可以通过社工的方式来获取,也可以通过直接向朋友要的方式来获取,亦可以通过注册的方式来获取。很明显前两种方式失败的概率还是很大的,所以最好通过注册的方式来获取账号。

子域名收集
子域名收集

寻找注册页面
寻找注册界面

寻找登陆页面
寻找登陆页面

  1. 搜集目标网站的服务器,数据库,编程语言,等相关指纹信息
    使用whatweb来探测目标网站的指纹信息
    搜集指纹信息

  2. 目标网站开放端口信息
    使用scan来扫描目标网站的开放端口
    目标网站开放端口

开始渗透测试

  1. 在可以注册的页面上注册账号,然后看看可以做点什么事情
    注册账号

  2. 发现该页面上可以利用的东西不是很多
    查找可用功能

  3. 既然这个页面可以利用的东西不多那就再换一个页面,(这样重复了几次终于找到一个功能相对丰富的页面)
    功能丰富页面

  4. 更让人惊喜的是竟然有文件上传
    可以文件上传

  5. 因为之前在信息搜集阶段已经知道该站是php+mysql所以就直接上传php一句话
    直接上传php一句话

  6. 根据报错信息可以猜测网站对上传的文件进行了前端校验,所以可以尝试修改文件名然后burpsuit修改文件名绕过首先将文件修改为.doc文件发现竟然可以直接上传,由此判断网站只是对文件名进行了验证

修改文件为.dox
burpsuit修改文件名为.php

burpsuit修改文件名为.php
发现竟然文件上传成功了

burpsuit修改文件名为.php

文件上传成功

  1. 当我满心欢喜用菜刀连的的时候却出现了这个问题
    菜刀连接时出现问题

  2. 刚开始我觉得可能是网络的原因,但是在尝试好几遍后,相同的报错界面使我明白可能是上传的马被杀了,按照常理来讲我觉得此次渗透之旅可能到此就结束了,于是乎我停了下来,主要原因是到饭点了,嘻嘻。下午一直就没弄了,因为要忙公司的事了。到晚上的时候我又想起来这个站,心里有点不甘,思考了一下,既然我可以在浏览器里面访问那说明我的一句话是没有问题的呀,那问题出在哪里呢?会不是菜刀的原因,我查看了一下我使用的菜刀的版本,还是2014的,已经是四年前的版本了,于是乎Google一波,找到了某位大佬用Java写的菜刀再次连接出现了熟悉的界面

换新菜刀连接成功

  1. 最后我分析了一下原因可能是这样的,由于菜刀太出名了,而且菜刀的数据包是有自己的特征。而且我也发现这个站非常新,也就是说可能服务器的配置策略对菜刀的请求是不做响应的,但是为什么新的菜刀可以连接呢?答案也很简单,因为这个菜刀是另外一大佬写的,请求数据包不一样。

后记

我们安全从业人员要时刻谨记,善与恶就在一念之差,我们是黑客不是骇客。所以在我发现该问题的第一时间就邮件通知了当事方。欢迎大家和我交流技术上的问题,cyber-security@qq.com

-------------本文结束感谢您的阅读-------------