MENU

CTF

利用 pwntools 编写 socket 脚本

今天遇到了一道 ppc 的题目,并不难,连接服务器端口后,计算返回的一个算式,发送答案,连续答对十次拿到 flag。

这一操作一般是利用 Python 的 socket 编程实现,后来看到有人说用 pwntools 也可以做,就尝试了一下。

先放正常的 socket 编程脚本。

Read More

从一道 CTF 题学到的几个 Python 字符串处理 tricks

汪神的 Javis OJ 上了几道新题目,其中有一道 CFF 2016 的 “德军密码” 做了挺长时间的。原理也不难,就是一个异或加密,但是写脚本的时候学到了一点 Python 字符串处理的一些小技巧。

题目解析

已知将一个flag以一种加密形式为使用密钥进行加密,使用密钥WELCOMETOCFF加密后密文为
000000000000000000000000000000000000000000000000000101110000110001000000101000000001
请分析出flag。Flag为12位大写字母

密文很明显是二进制码,而一个字节 8 位,12位大写字母应该是 96 位的密文才对,而给出的密文只有 84 位,可能是做过处理,补个 0 看看吧。将密钥与补位后的密文异或一下就可以拿到 flag 了,还是挺简单的。

Read More

Python 识别简单验证码

最近做题的时候碰到好几道 WEB 都需要验证码识别,如果是爆破,那么 PKAV 的 Http Fuzzer 就可以了,但如果题目更变态一点,需要做复杂的操作,那个简单的 Fuzzer 就没办法了,还是得自己写脚本。

依赖

识别验证码,肯定需要图像库 PIL ,还需要一个可以做简单识别的库 pytesseract ,毕竟只是做个题,总不能自己训练一个出来,没那功夫。

再吐槽一下 windows 这个坑,pip 没法安装 PIL ,下了二进制包安,用的时候各种报错,网上说还需要 32 位,64 位一起装。。。

Read More

HackingLab 脚本关 writeup

HackingLab脚本关部分题目还是有点难度的。

0x01 key又又找不到了

小明这次哭了,key又找不到了!!! key啊,你究竟藏到了哪里,为什么我看到的页面上都没有啊!!!!!!
通关地址

点这个链接,跳转到了另一个没有key的页面,抓包看看,注意截断response包,拿到key。

<script>window.location="./no_key_is_here_forever.php"; </script>
key is : yougotit_script_now

Read More

HackingLab 基础关 writeup

HackingLab是一处不错的CTF训练平台,题目主要是WEB方向,从易到难,适合刷题训练。

0x01 key在哪里?

过关地址

右键查看源码就可以看到key。

<!--key is jflsjklejflkdsjfklds-->

Read More

RSA 常用工具介绍

介绍一下RSA中常用的两款工具RSAtool和yafu。

1 RSAtool

没有找到RSAtool自己的网站或是官方一点的下载地址,搜索引擎大致看了看也没看到比较好的介绍或是使用说明,只好自己随便写写了。

Read More

RSA 算法科普及简单 Python 实现

最近做几个ctf的crypto题,好几道RSA都没法用以前无脑工具破搞定了,所以深入研究了一下原理和一些小trick,把自己的一点体会分享出来,共同学习。

1 算法基本思路

RSA算法是一种非对称加密算法,是现在广泛使用的公钥加密算法,主要应用是加密信息和数字签名。详情请看维基

Read More

PCTF 2016 writeup WEB部分

PCTF 2016 算是一次训练赛,题目较多,很多是原题,时间长,是一次很好的提升姿势的比赛。然而我姿势太低以至于只能在赛后看看别人的题解自己摸索。。。

Read More