CFB重放攻击

作者: 时间: 2017-04-17 评论: 3条评论

http://cstc.xatu.cn/ - web300 - amdin
www.tar.gz

0x00 摸下套路

先把源码down下来,查看下大概逻辑如下:

1. index.php五个功能:home, register, login, manage, logout
2. encrypt.php实现RIJNDAEL_128(CFB)加解密
3. backup.txt存有flag.txt里存放的内容加密后的字符串
4. key.php里得到的identify和key我们没办法知道

刚看到的时候一下子想起了之前搞过的那个CBC字节反转攻击,但是细看后才发现并不是,CFB的,而且一些限制条件($md5),没办法简单的反转攻击。

看接下来实操部分之前,先了解清楚分组加密模式以及本次遇到的CFB的工作方式:分组密码工作模式 - 维基百科

阅读全文»

CBC字节反转攻击

作者: 时间: 2017-03-26 评论: 暂无评论

CBC加解密原理

原理

先来看下CBC(AES为例)是如何工作的:

加密流程如下:

cbc_encrypt.png

  1. 首先将明文分组(常见的以16字节为一组),位数不足的使用特殊字符填充。
  2. 生成一个随机的初始化向量(IV)和一个密钥。
  3. 将IV和第一组明文异或。
  4. 用密钥对3中xor后产生的密文加密。
  5. 用4中产生的密文对第二组明文进行xor操作。
  6. 用密钥对5中产生的密文加密。
  7. 重复4-7,到最后一组明文。
  8. 将IV和加密后的密文拼接在一起,得到最终的密文。

加密公式:

Ciphertext-0 = Encrypt(Plaintext XOR IV)—只用于第一个组块
Ciphertext-N = Encrypt(Plaintext XOR Ciphertext-N-1)—用于第二及剩下的组块

阅读全文»

Time Of Check To Time Of Use

作者: 时间: 2016-10-20 评论: 暂无评论

今天在Nebula上面遇到一个有趣的Software Bug,这个bug得名字叫做Time of check to time of use

wikipedia这边写得挺多,可以先看下Time of check to time of use

下面我们来看下实际遇到的例子。

我们以level10的用户登录,flag10下有两个文件,一个是token文件(存有flag10用户的密钥),另一个可执行文件basic是用于读取文件并发送到指定地址进行输出。

阅读全文»

Python编写Keylogger

作者: 时间: 2016-09-25 评论: 暂无评论

最近出于一些“不可告人”的目的,走上了编写keylogger之路...

下面先来看一下目前写好的keylogger的效果。

keylogger.gif

能获取当前焦点所在窗口,并且各种输入、组合键之类的也都能记录到。

源代码和几个库文件已经发布在我的Github上面了,想学习的可以到上面去看。里面一些核心代码是参见乌云的那篇文章,其实也就是Python黑帽子一书中的。

Keylogger_client.py这个文件需要pyHookpythoncom库,这些在我Github上也都有打包上传了。

阅读全文»