HBCTF——WriteUp&&涨姿势(5)

来源:互联网 发布:java排队叫号系统设计 编辑:程序博客网 时间:2024/06/15 00:28

WriteUp

  1. 葡萄牙-签到

涨姿势

  1. 西班牙-666
  2. 波兰-父亲的信
  3. 法国-四六级查询

葡萄牙-签到

原题

这里写图片描述

解题思路

最深不过套路?

WriteUp

签到题不用费太多心思,如果做不出肯定是懂的套路不够多
习惯性右键——源代码,并没有可疑的东西,页面上也没有,那F12看看?

这里写图片描述


西班牙-666

原题

这里写图片描述

解题思路

代码审计,绕过就行

WriteUp

由条件:1. $sss !== '0x666'2. $sss == '0x666'   可知 $sss 的值需要等于数值 0x666,而又不能等于字符串 '0x666',其中涉及PHP的弱类型比较3. if(!preg_match("/[^0-6]/",$sss))     $sss 只能包含 0--6 的数字4. if(strlen($sss)==666)     $sss 的长度等于 666
通过分析可知我们需要创建一个长度为 666 ,只包含0 -- 6的数字,数值上等于 0x666且不等于字符串 '0x666'的参数,所以我们用八进制就可以搞定了,创建 $sss = '00...03146'即可

这里写图片描述

import requestsurl = 'http://pcat.cc/sss/?sss='+'0'*662+'3146'html = requests.get(url)print(html.content)

这里写图片描述

涨姿势点

刚开始看到 if(strlen($sss)==666)时就在想有这么长的url的么?当时直接否定了填充到666个长度的想法。然后第一个条件想不到办法绕过,然后没有然后了。。

波兰-父亲的信

原题

这里写图片描述

解题思路

与佛论禅

WriteUp

怎么看都是Base64,先解开这个,但解出来乱码

这里写图片描述

回想起题目,这应该是中文写的信,那么应该还要GBk编码,然后在用 '与佛论禅' 来解密
from base64 import *               #引用自某人(作者没署名)with open('letter.txt','r') as L:    a = L.read()    b = b64decode(a)    c = b.decode('GBK').encode('utf-8')    with open('out.txt','wb') as out:        out.write(c)
将解出来的中文解密即可

这里写图片描述

涨姿势点

与佛论禅?没想到是一种加密方式

法国-四六级查询

原题

这里写图片描述

解题思路

划一下逆向的水,壳是混淆过的,用PEID等无法直接查出,我怎么知道什么壳的?我看了WP

WriteUp

其实是 .net 的壳,直接上工具就好了先打开46.exe,然后打开工具选择46.exe,点一下那个老头就行

这里写图片描述

这里写图片描述

随便选一个exe扔进ILSpy

这里写图片描述

涨姿势点

ILSpy工具的简单使用

原创粉丝点击