光棍节程序员闯关
发布于 2 个月前 作者 backcj 746 次浏览 来自 分享

光棍节程序员闯关秀 大家快来试试能闯到第几关

6 回复
  1. 隐藏元素 屏幕快照 2016-11-11 上午11.05.29.png
  2. 还是隐藏元素 屏幕快照 2016-11-11 上午11.07.11.png
  3. 查看Response Headers,里面有个The-Key-Is 屏幕快照 2016-11-11 上午11.09.08.png
  4. 观察页面的url可以发现每一关的识别是通过query里的key,这里的key是个hash值,结合提示我将sf的登录密码通过md5加了个密,结果丫的不对。 将关数“5”加个密,恩对了。 屏幕快照 2016-11-11 上午11.14.46.png
  5. 别扫码了,将图片另存为5.js,在打开 屏幕快照 2016-11-11 上午11.17.56.png
  6. 解密,解密不了就google
  7. 就用给的这个hash
  8. 将method改成POST 屏幕快照 2016-11-11 上午11.21.55.png
  9. 不会

我第三关都过不了

第六关过不了

@yuyang041060120 第9关先将 1 替换所有的 _ ,然后将这些二进制数转成 ASCII 字符串,可以发现这些字符串是 base64 编码的,然后将其解码,得到一个二进制串,可以把这个二进制串保存成一个文件,然后使用 tar xz 将其解压出来,解压出来后是一张图片,图片上的字符就是其通关密码了。

@zbinlin 解出来的图片好像苍老师… cang.jpg

const fs = require('fs');

const text = fs.readFileSync('key.txt').toString();

let base64Str = '';
const textArr = text.replace(/_/g, '1')replace(/\r\n/g, ' ').replace(/\n/g, ' ').split(' ');

for (const str of textArr) {
	base64Str += String.fromCharCode(parseInt(str, 2));
}

fs.writeFileSync('key.tar.gz', new Buffer(base64Str, 'base64'));
回到顶部