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

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 requests

url = '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工具的简单使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值