1.26寒假作业
web:[LitCTF 2023]1zjs
打开是一个魔方的程序,结合题目标题,估计是再源代码里面找线索
可以用开发者工具看,但是比较不清晰,用ctrl+u看
可以看到一个java文件,点进去看一下,很多很繁琐,一开始我觉得是Java的反汇编或者测试类的,总之要把这个代码简化,不然这么多怎么看的来,因为直接搜索flag也找不出来什么
尝试之后一看就实现不了,去看看其他文件也找不到什么,但是给了我一些提示会不会是要我们找一下js字符
一搜下来太多了,在里面找根本不现实
结合之前的经验看看能不能找php文件,还真的有
这也让我意识到在这类的源码泄露和审计题目类的要多注意PHP文件,访问这个文件得到一堆字符串,这个之前接触过了叫jsfuck加密直接解密即可
pwn:攻防世界hello-pwn
查壳,ida
看主函数
读取16个字节给&unk_601068,后面设置一个判断如果dword_60106C=1853186401,就执行下面那个函数,追踪一下这个函数,可以看得出来执行这个函数就能得到flag
找一下system的地址
所以现在就是要让dword_60106C=1853186401,找一下位置,十个64位数字占80个字节,填充量就是80-16
脚本操作一下,是错的,别人是这样写脚本的,到底是为啥啊????????????
misc:polar靶场费眼睛的flag
打开文件是这样的,就画了个线
估计是一种3隐写,前后看了半天才发现区别,就是有的格子有加粗有的没有,把加粗的背景涂黑看看,这步估计是要用脚本实现
扫码获得flag
crypto:polar靶场我爱吃培根
打开文件又是一段AB组成的字符串,第一印象还是转成摩斯密码去解密,实际操作之后发现是错的,结合题目看看有没有相关的加密,搜索发现有一种加密叫培根加密
这里注意要选择不同编码,另一个编码方式不是这题的加密方式
reserve:攻防世界 精神错乱
查壳,ida
直接shift+f12就找到了
再做一题reserve:攻防世界 开源
打开代码分析一下
首先定义三个判断,再后面对三个变量进行计算得到哈希值,首先检查转换后的整数是否等于51966(十进制),再检查该整数对 5 取余是否等于 3,或者对 17 取余是否不等于 8,这个数可以自己算一个就是25,最后使用strcmp函数比较第三个命令行参数和字符串"h4cky0u"
是否相等。如果不相等,字符串长度就是7,通过这些检验之后再用这个式子first * 31337 + (second % 17) * 11 + strlen(argv[3]) - 1615810207进行计算哈希值,结果就是答案。
写个脚本实现