1、打开之后界面如下,查看源代码信息,发现chase文件,结果如下:

2、访问chase文件会一直跳转到die界面,那就只能抓包进行查看,发现leftt文件,结果如下:

3、访问leftt文件并查看源代码信息,发现shoot文件,结果如下:

4、访问shoot文件并查看源代码信息,发现door文件,结果如下:

5、访问door文件并查看源代码信息,发现check_door()函数和door.js文件,结果如下:

door.js文件内容如下:

6、在door.js文件中发现了open文件,访问open文件并查看源代码信息,发现open_sesame.js文件,结果如下:

open_sesame.js文件内容如下:

7、在open_sesame.js文件中发现fight文件,访问fight文件并查看源代码信息,发现fight.js文件,结果如下:

fight.js文件信息内容如下:

8、到这里就没有思路了,原以为是执行scramble函数获取flag值,但是执行了之后并未成功获取到flag值,那就只能手动的进行排列组合了,简单的分析下{hey肯定在第二个位置,ck!}肯定在最后一个位置,pctf应在实在第一个位置的,那就剩_boy、aaaa、s_im、_baa、aaaa五个进行排列组合,5*4*3*2*1=120中,也是无语了,这么多那肯定不是让手动组合的,然后就在网上查找了下发现都是采用这个代码来实现的,最终成功获取到flag值,代码信息如下:

from itertools import permutations
import re flag = ["{hey", "_boy", "aaaa", "s_im", "ck!}", "_baa", "aaaa", "pctf"]
# 对flag字典里的内容进行排列组合
item = permutations(flag)
# 遍历
for a in item:
k = ''.join(list(a))
# 匹配
if re.search('^pctf\{hey_boys[a-zA-z_]+ck!\}$', k):
print(k)

可执行的scramble函数(但是未执行出来正确flag),代码如下:

var flag = ["{hey", "_boy", "aaaa", "s_im", "ck!}", "_baa", "aaaa", "pctf"];
var key = "Earth";//自己随便写的
function scramble(flag,key) {
for (var i = 0; i < key.length; i++) {
let n = key.charCodeAt(i) % 8;
let temp = flag[i];
flag[i] = flag[n];
flag[n] = temp;
}
return flag;
}
console.log(scramble(flag,key));
document.write(scramble(flag,key));

结果如下:

最新文章

  1. UML类图简单介绍
  2. Nginx 日志中记录cookie
  3. Kubernetes如何使用kube-dns实现服务发现
  4. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式及apr配置
  5. ios 打包
  6. 在VLFEAT中mat类型图片转换成constant float* 来进行vl_dsift_process
  7. API - .addBack()
  8. iOS 进阶 第十七天(0420)
  9. lintcode :continuous subarray sum 连续子数组之和
  10. 翻译Oracle文档--SYSDBA和SYSOPER系统权限
  11. hdu_3063_Play game(数论)
  12. IT技术网站汇总
  13. cin 对象取值过程详解
  14. iOS 字体设置,字体类型展示
  15. 宝塔面板下安装zabbix
  16. IE console.log 调试状态
  17. 【文献08】多移动机器人轨迹跟踪控制系统设计与实现-运动学ADRC控制
  18. C/S权限系统(一)
  19. navicat 连接Oracle 报错:Cannot load OCI DLL, 126
  20. git 自动转换行符的坑爹案例

热门文章

  1. Java中的线程到底有哪些安全策略
  2. OpenHarmony3.1 Release版本关键特性解析——Enhanced SWAP内存管理
  3. Android 12(S) 图像显示系统 - GraphicBuffer同步机制 - Fence
  4. 脚踏实地的Netty源码研究笔记——开篇
  5. linux篇-Linux MBR分区、挂载操作步骤,逻辑卷扩容操作
  6. 111_Power Pivot 24小时维度:累计、同比、环比相关
  7. 20212115 实验三 《python程序设计》实验报告
  8. generatorConfig.xml自动生成实体类,dao和xml
  9. Java集合框架(四)-HashMap
  10. 我的开源之路:耗时 6 个月发布线程池框架,GitHub 1.7k Star!