利用 pwntools 编写 socket 脚本
今天遇到了一道 ppc 的题目,并不难,连接服务器端口后,计算返回的一个算式,发送答案,连续答对十次拿到 flag。
这一操作一般是利用 Python 的 socket 编程实现,后来看到有人说用 pwntools 也可以做,就尝试了一下。
先放正常的 socket 编程脚本。
今天遇到了一道 ppc 的题目,并不难,连接服务器端口后,计算返回的一个算式,发送答案,连续答对十次拿到 flag。
这一操作一般是利用 Python 的 socket 编程实现,后来看到有人说用 pwntools 也可以做,就尝试了一下。
先放正常的 socket 编程脚本。
汪神的 Javis OJ 上了几道新题目,其中有一道 CFF 2016 的 “德军密码” 做了挺长时间的。原理也不难,就是一个异或加密,但是写脚本的时候学到了一点 Python 字符串处理的一些小技巧。
已知将一个flag以一种加密形式为使用密钥进行加密,使用密钥WELCOMETOCFF加密后密文为
000000000000000000000000000000000000000000000000000101110000110001000000101000000001
请分析出flag。Flag为12位大写字母
密文很明显是二进制码,而一个字节 8 位,12位大写字母应该是 96 位的密文才对,而给出的密文只有 84 位,可能是做过处理,补个 0 看看吧。将密钥与补位后的密文异或一下就可以拿到 flag 了,还是挺简单的。
最近做题的时候碰到好几道 WEB 都需要验证码识别,如果是爆破,那么 PKAV 的 Http Fuzzer 就可以了,但如果题目更变态一点,需要做复杂的操作,那个简单的 Fuzzer 就没办法了,还是得自己写脚本。
识别验证码,肯定需要图像库 PIL ,还需要一个可以做简单识别的库 pytesseract ,毕竟只是做个题,总不能自己训练一个出来,没那功夫。
再吐槽一下 windows 这个坑,pip 没法安装 PIL ,下了二进制包安,用的时候各种报错,网上说还需要 32 位,64 位一起装。。。
介绍一下RSA中常用的两款工具RSAtool和yafu。
没有找到RSAtool
自己的网站或是官方一点的下载地址,搜索引擎大致看了看也没看到比较好的介绍或是使用说明,只好自己随便写写了。
PCTF 2016 算是一次训练赛,题目较多,很多是原题,时间长,是一次很好的提升姿势的比赛。然而我姿势太低以至于只能在赛后看看别人的题解自己摸索。。。