R·ex / Zeng


音游狗、安全狗、攻城狮、业余设计师、段子手、苦学日语的少年。 MUGer, hacker, developer, amateur UI designer, punster, Japanese learner.

使用 PhantomJS 来实现 CTF 中的 XSS 题目

Update 20180607:Puppeteer 的版本请移步 这里。零:CTF、XSS 的概念CTF 在这个博客中提到的已经很多了,它是一类信息安全竞赛,在比赛中,选手通过各种方式,从题目给出的文件或者网址中,获取到某一特定格式的字符串。CTF 中比较常见的一个题型就是 XSS(跨站脚本攻击),大概的原理就是服务端没有正确过滤用户的输入,导致用户提交的畸形字符串被插入到网页中并被解析成 JavaScript 执行。在 CTF 中,XSS 一般用来拿管理员的 Cookie,伪造身份登录后...

【恐怖小说】被双向绑定的生活

本故事部分片段取材于日常生活,故事本身完全虚构,与现实中的任何人或事均没有任何联系。“Vue 用的是 Getter 和 Setter,Angular 跟它是不一样的!”一“我要干什么来着?……哦对,这个地方的数据绑定错了。”我无奈地摇了摇头。我是一名计算机学院的学生,也是南航纸飞机曾经的主任。从学生组织退休到离校的这一年时间里,我一直占据着纸飞机办公室的一个小角落,每天在键盘上啪啪啪(写代码而已,别想歪哦)。我的面前有三个柜子,如果我坐在椅子上不出声,可能进来的人都不会看到我。这有一个好处...

CSS 中关于 overflow 的限制和绕过方法

在写毕设的时候遇到了一个看起来很难搞的问题。假设有如下 HTML 结构:<div class="scrollable"> <table> <thead> <!-- headers --> </thead> <tbody> <!-- contents --> </t...

从 Sublime Text 转向 VS Code

前几天突然看群里某同学提到了 VS Code,然后发现 VS Code 已经比刚出的时候好了很多,于是我就开始尝试了。先挂个梯子从 官网 那儿下载了下来。先试了一下,发现 VS Code 与 Sublime Text 相比最大的缺点就是不能同时支持多个文件夹的打开,只能显示某一个文件夹里面的内容,于是我索性把 E 盘拖了进去。然后发现插件很方便,于是装了一通插件:Color HighlightESLintFlatland MonokaiLaravel Blade SnippetsPHP D...

Laravel 版本与 PHP 版本之间的坑

又到了一年一度五四评优的季节,技术部又有的忙了。作为陪伴这套系统时间最长的人,也是目前唯一了解全部技术细节的人,我自然需要帮现在负责的同学们一点小忙。于是我又把这套系统 clone 了下来。如果用的是 Apache,那么 Laravel 已经有了 .htaccess 文件;但是Nginx 的配置并不像官方说的那么简单,下面是我尝试了许多次才配置成功的:location /evaluation { if (-d $request_filename) { rewrite...

CloudFlare,DNS,以及 Nginx 的多域名配置

在配置自己的个人网站的过程中,我学到了许多编程以外的知识,下面就来逐一说一说吧。CloudFlare由于我的网站是托管在 OpenShift 上面,而 OpenShift 提供的默认域名 xxx-xxx.rhcloud.com 在国内由于某些特殊原因无法访问,经过再三的搜索,我决定使用 CloudFlare 来在国内加速我的网站。CloudFlare(下文简称 CF)是一个可以帮助提升网站加载速度、阻止网络攻击的公司,原理是将域名的 NS 记录(后续会讲到)修改为 CF 的记录,所有走这个...

Rex 的除夕夜加密红包 Writeup

先吐槽一下这次的界面好了。前端确实是随手写的,加了一段 prism.js 做代码高亮;本来想做优雅链接来着,结果 Openshift 上面 Nginx 老是调不好。刚才又调了一下,终于可以了,于是把所有题目的链接都改成了优雅链接(https://hongbao.rexskz.info/{code})。然后在 index.php 的一开始写了如下几句:if (!preg_match('/^[0-9A-Za-z_]+$/', $_GET['code'])) die('Access denied...

《AWAY》音乐节直播踩坑经历

还好这次音乐节有惊无险地结束了,技术部负责的直播在一开始出了一些小失误,但是还好后来没什么问题,接下来我就把这次踩坑的经历发出来,希望给以后的小伙伴提供一点经验。往年的蛋蛋晚会都有直播,只是感觉有点 Low:一开始的直播是在页面中嵌入了一个 object,用的是 mms 协议。由于这是 Windows Media Player 的私有协议,因此只能通过 IE 打开。从第七届蛋蛋晚会开始,直播方式变成了 rtmp,由于我们没有自己的推流设备,所以就从信息中心借,推到信息中心服务器,我们自己的...

2016 全国大学生网络安全邀请赛暨第二届上海市大学生网络安全大赛决赛酱油记

这次比赛的形式跟暑假那次一样,也是攻防赛,选手需要维护三个服务,其中一个是二进制,两个是 Web。不过这次的网络跟上次的不一样,三个服务都处于选手自己的内网环境(172.16.9.X,每道题是一个 X)中,只对外网(172.16.5.X,X = 队名 + 9)暴露了必须的端口。不过思路还是一样,先把代码 Dump 下来,然后看看里面有什么漏洞,然后尝试利用。这次比赛不提供外网,而且只有四个小时(十分钟一轮),因此可能会困难一些。我们队伍三个人,就我是搞 Web 的,剩下的两个学弟都是搞 P...

2016 全国大学生网络安全邀请赛暨第二届上海市大学生网络安全大赛 Writeup

天知道为啥这比赛的名字这么长……还是写一写我过的那些题吧![Web] 仔细打开发现是一个伪 nginx 测试页面,然后扫了一下发现有个 /log 文件夹,打开发现里面记录了 access.log,猜想里面有访问记录,于是下载下来直接搜 200,搜到一条记录:http://xxx.xxx.xxx.xxx:15322/wojiushiHouTai888/denglU.php?username=admin&password=af3a-6b2115c9a2c0&submit=%E7...

SUCTF 招新赛 Writeup

本来说好的招新赛,结果南航有一堆老司机混进去做题,而且主办方可以随时放题,因此最终题目难度变得没那么简单了。虽然出题的都是队友(队友:“我才没你这么差的队友呢!”),然而还是由于技术不过关,有些看似基础的东西仍然没有做出来。接下来就把我会做的题目写一下吧。下面的顺序是按照在页面中显示的顺序,而非难度顺序。[PWN] 这是你 hello pwn?拖进 IDA,看到 main 函数是这样的:int __cdecl main(int argc, const char **argv, const ...

对 Mirai 病毒的初步分析——物联网安全形式严峻

前几天,半个美国的吃瓜群众纷纷表示上不了网了。经过各种调查,发现是一个代号为 Mirai(日语:未来)的病毒感染了物联网设备,形成了一个僵尸网络,最终这个超大型的僵尸网络向美国某 DNS 公司的服务器发起了 DDoS 攻击。Mirai 的 C 语言源码在网上很容易获取到,刚好我最近在上计算机病毒课,于是就下载下来研究了一下,顺便看一下以自己现在的能力可以理解到哪一步。下载下来之后粗略看了一下,第一感觉就是作者的代码风格真的是超级好!不光代码格式很赞(虽说大括号放到了下一行),而且变量名、文...

这是我们共同度过的

第 2253 天