记一次 Typecho 插件的 XSS 攻击

发现 咸鱼好久没有更新内容,于是昨天想着来记录下最近的事情,结果上来发现网站页脚出现了奇怪的友链,于是登录进后台,元素审查一看,居然有人给我插了一条 XSS 进去了…… 再一看网络记录,可以,我的 cookie 已经被上传了…… 赶紧把 token 改了,然后临时把管理页删了…… 溯源 搞完在思考,为什么这里会有这么严重的问题。首先回到友链插件上,没想到这个作者居然显示文字的时候没有做任何安全性字符过滤,导致了 xss 的可能。 但是为何数据会出现在我的库里呢?想来想去没想通,于是顺手看了下友链插件的提交数据,然后把表单复制出来,去除 cookie 信息后从控制台直接 curl 提交...

使用Python制作繁体显示的简体字体文件

最近几天发生了一些事情,导致《剑网3免费版》(台服)关服,于是昨天突发奇想,是不是想办法修改字体文件,就可以在简体客户端里面显示出繁体呢。 思绪 得到这个想法后,我便顺手拿出一个字体文件,阅读起了TTF文件的数据结构,随手谷歌了一篇文章,大致了解到TTF文件由矢量图形表(Glyphs)、字符到矢量图的映射表 (cmap)、矩阵样式等信息表 (hmtx、hdmx、OS/2 等)构成,与想象中设计基本一致。那么我们要做的事情,就是通过一份繁简转换表,从一个繁体字体文件中读取每一个繁体字符的矢量图、矩阵样式信息、字符映射表,并修改其映射关系到对应的简体字符,然后替换或者追加到简体字体文件对...

通过 JavaScript 脚本解决移动端弹出层滚动穿透的问题

前端开发中经常会遇到一个麻烦的问题:在通过fixed或者absolute定位的弹出层上进行滚动操作的时候,滚动事件会穿透到底部导致body跟着滚动,及其影响交互体验。常规做法是在弹出层时候禁止body的滚动,将其设置为overflow: hidden,但是会导致滚动高度丢失从而造成视觉上一次弹动,所以我决定从弹出层本身考虑这个问题。 <body> Body content. <div id="popup" style="position: fixed; top: 0; right: 0; left: 0; bottom: 0"> Popup lay...

Install pydio cells with docker on CentOS 7.

Recently, I've tried several types of self-hosted cloud services. Today, I'll share you about how to set up a pydio cells server. Install According to official docs, to set up your personal secured pydio, you need two things. Docker installed. A valid ssl certificate, for safety. Assume that yo...

使用 Docker 配置基于 Nginx 支持的 NextCloud 私有云服务

Docker 创建一个网络,将数据库、应用以及NginxDocker 放入同一个网络中。 docker network create --driver bridge --subnet 172.22.4.0/24 nextcloud 接下来,分别启动各个 Docker 的实例,其中Nginx实例需要暴露端口给宿主机器作为最终访问端口,Nginx通过反向代理将请求移交给应用实例处理,应用实例通过内网数据库 Socket 连接请求数据,并返回结果。 docker run -d --restart=always \ --name nextcloud-mariadb \ --networ...

MacOS X 手动安装基于 Virtual Box 的 laravel/homestead 过程

由于某些地区网络无法连接到vagrant的服务器,安装homestead必须手动离线安装。 相关介绍 Homestead目的在于让本地环境可以很快的搭建和销毁,其原理为一个配置好的Vagrant Box原型,随时实例化出一个测试环境。Homestead基于Vagrant,而Vagrant是一个中间层,作用在于提供自动化的虚拟机安装,由于我选择了 Virtual Box作为虚拟机平台,所以本教程仅适用于Virtual Box+Vagrant+Laravel/Homestead的离线安装。 安装基础软件 下载并安装 VisualBox 下载并安装 Vagrant 下载安装 Homes...

最新文章

最近回复