宝塔是近几年刚崛起的一款服务器面板,深受各大站长的喜欢,windows2003 windows2008windosws 2012系统,linux centos deepin debian fedora系统均可以使用宝塔的面板来管理服务器,宝塔能够一键部署网站的环境,IIS环境搭建,Nginx环境,PHP环境搭建,apache jsp环境,mysql数据库,oracle数据库搭建,以及一键设置FTP帐户密码,文件面板在线管理均可以很简单的利用宝塔搭建起来。mysql
2018年10月11日宝塔Linux更新到6.0版本,不少新功能加入到linux宝塔面板中,面板的功能再多,仍是会存在着一些漏洞,这也是没法避免的,在实际的安全检测当中发现linux 6.0面板存在着漏洞,至关于早些5.0以上版本,存在着宝塔XSS存储性漏洞。linux
问题发生在宝塔的控制面板系统安全这里,默认用户登陆失败会记录到宝塔的系统安全里,咱们看看下代码:sql
漏洞的产生就是在这个代码里,经过代码能够看出代码首先判断是不是正确的用户名密码,再来判断验证码,判断登陆失败的IP是否还有其余登陆失败的日志记录,若是这个值大于1就日志记录一下,宝塔的系统安全会自动将大于1的用户名以及密码都进行了日志记录,从宝塔的数据库中去读取当前宝塔管理员的帐户密码,来进行互相对比,若是没有对比成功,就会返回一个错误的值。最关键的一个代码就是当post登陆宝塔面板的时候就会将code写入到专门写系统安全日志的一个函数里面去,经过对其函数的追逐发现,这个函数就是写日志的功能,定义teyp而后再定义args,从code值传递过来就写进了宝塔的系统安全日志当中去。 在这个code值中能够插入恶意的参数,写进系统安全的日志中,XSS存储漏洞就在这产生了,能够构造xss获取管理员的帐户密码以及cookies值,当服务器的管理员点击后台的系统安全,就会使宝塔漏洞触发。数据库
咱们来测试一下这个宝塔漏洞,首先输入宝塔的地址,默认都是服务器IP,888端口,而后输入帐户密码,随意输入,当输入错误的时候,再次登陆就是输入验证码。在验证码这里能够写XSS攻击代码,alert('网站安全测试')apache
当管理员登陆后台,点击安全,就会弹出安全测试的提示框。构造精心准备的xss代码就能够获取到当前登陆的管理员cookies值,复制这个值直接进后台操做便可。windows
目前宝塔linux面板漏洞,官方已经紧急修复,不少使用宝塔面板的服务器尚未修复升级打补丁,但愿服务器的管理人员尽快的升级宝塔到最新版本。centos