2017 赛克夏令营 WriteUp
🏛️ 活动概况与组织架构
活动全称:第三届赛客 360 网络安全夏令营
主办单位:郑州大学、西安电子科技大学
承办单位:河南赛客信息技术有限公司、360 公司
活动时间:2017 年 7 月 10 日 至 8 月 10 日
活动地点:分设两个营地,分别在郑州(郑州大学新校区)和西安
Web
random(签到)

随机数是 1~100,填一个数之后一直刷新网页重复发请求即可

checkin(签到)
请求头中发现 flag

weakphp(.git 泄露 + MD5 0e 碰撞)

存在 .git 泄露,利用 GitHack 下载源码
1 |
|
PHP 中使用 == 比较两个 MD5 值时,如果两个哈希值都以 0e 开头,且后面全是数字,会被当作科学记数法(0 的幂次),均等于 0,从而判定相等
1 | ?user=QNKCDZO&pass=240610708 |

injection(SQL 注入)

id 参数存在 SQL 注入
1 | 1 union select 1,flag from ctfhub.flag # |

Fast Running(条件竞争)

修改密码后系统会自动改回来,所以得写脚本打条件竞争

1 | import requests |
Misc
简单隐写(Base 64 + 32)

在图片末尾发现 Base 加密

Base64 –> Base32 –> ASCII 码拿到 flag
1 | flag{7ee5e94475cfe7a1342830961949ddb3} |
我抓到你了(WebShell 流量 + ZIP 伪加密)

过滤 HTTP 发现上传的木马

将其中的 Base64 解码得到
1 | @ini_set("display_errors","0"); |
攻击者读取了服务器上的文件,并且在文件前后加了标记
1 | X@Y |
在响应包中提取响应

复制原始数据,删除标记 X@Y 可识别出 ZIP

破解伪加密

打开拿到 flag

机密信息(HTTP 协议 + Dean Edwards packer 混淆 + JS 代码审计)

打开流量包过滤 HTTP 发现只请求了一个网页文件

追踪 HTTP 流对 JS 进行代码审计

Dean Edwards Packer 是一种经典的 JavaScript 压缩/混淆工具,由 Dean Edwards 在 2004 年左右发布
它将原始脚本转换为以下形式的自我解压代码
1 | eval(function(p,a,c,k,e,r){...}('压缩后的代码', 基数, 切片数, 单词表, ...)) |
把 eval 改成 console.log,然后 node 运行这段代码

1 | var hexatrigesimalToChar = new Array( |
分析代码
f数组通过index从hexatrigesimalToChar中选取字符- 再在指定位置插入花括号
- 最终
f.join('')得到的就是 flag
flag 为 flag{3c32b1cf66c70ae2178fd417fd051b3b}
隐写v2.0(文件后缀名篡改 + ZIP 爆破 + 二进制转二维码)

修改后缀名为 .zip 后爆破出密码为 7878

打开发现全是 01 二进制,缩小看有点像二维码

使用脚本转换再扫码得到 flag
