首页 > 2020年4月

意外发现 Lua5.1 字符串解析有点问题

今天顺手写个汉字转拼音的脚本,意外发现有个字会导致产生语法错误: print("乗") 稍微多试了几次,发现这么写反而没有错误: print("乗"") 这个汉字实际上是导致 Lua loadstring 函数判断结束的引号出了问题,误以为字符串还没有结束,具体原因得有空追一下 Lua 的源码才知道。只是觉得如果谁使用 Lua 用作服务器脚本处理语言,用户可以利用这个字符,在读写用户数据的时候进行注入攻击。 后续 断点跟踪看了下, Lua 在处理字符串转义时的函数是按照 ASCII 值按位转义的。 static void addquoted (lua_State *L, luaL_Buf...

记一次 Typecho 插件的 XSS 攻击

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

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

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

最新文章

最近回复