python-rsa签名伪造漏洞(CVE-2016-1494)

作者: 时间: 2017-05-22 评论: 1条评论

此次也是因为在RCTF里遇到了两道RSA的题目,才因此去研究python-rsa签名伪造漏洞这东西,过程曲折,但是也挺有趣,记录下来和大伙儿分享一下。

此次成果也是站在前人的肩膀上去研究的,参考文章的链接在底下都有,大家可移步过去看看(对于原理的剖析,那几篇文章讲的很好)。

0x00 Python-RSA签名伪造漏洞原理

首先,RSA是非对称加密算法,也就是说RSA存在公私钥,RSA可用于数据加密传输(传输对称加密的密钥),也可以进行数字签名,两者区别在于:

RSA用于加密时:
    公钥加密,私钥解密
RSA用于数字签名时:
    私钥加密,公钥解密

如果还不理解可以花三分钟看这里《数字签名是什么?》

RSA

阅读全文»

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的工作方式:分组密码工作模式 - 维基百科

阅读全文»

Openssl之enc、dgst和RSA

作者: 时间: 2016-11-11 评论: 1条评论

这次最主要探究的rsa相关,encdgst会稍微过一下。

说来这次初探Openssl也是一直想做的一件事,虽然之前已经把《图解密码学》看完了,但是也一直没有去实践一下。这次刚好有这个契机,就直接搞上了。

如果你也是刚刚接触Openssl,那么建议你在看这篇文章的同时,把官方文档打开放在一边,并且打开一个终端,实践出真知。

enc和dgst

enc

稍微过一下这些命令,首先看下官方文档(Openssl 1.0.1)中给出的enc支持的加密方式:

##### SYNOPSIS #####
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]

##### SUPPORTED CIPHERS #####
 base64             Base 64
 bf-cbc             Blowfish in CBC mode
 bf                 Alias for bf-cbc
 bf-cfb             Blowfish in CFB mode
 bf-ecb             Blowfish in ECB mode
 bf-ofb             Blowfish in OFB mode

 cast-cbc           CAST in CBC mode
 cast               Alias for cast-cbc
 cast5-cbc          CAST5 in CBC mode
 cast5-cfb          CAST5 in CFB mode
 cast5-ecb          CAST5 in ECB mode
 cast5-ofb          CAST5 in OFB mode

 des-cbc            DES in CBC mode
 des                Alias for des-cbc
 des-cfb            DES in CBC mode
 des-ofb            DES in OFB mode
 des-ecb            DES in ECB mode

 des-ede-cbc        Two key triple DES EDE in CBC mode
 des-ede            Two key triple DES EDE in ECB mode
 des-ede-cfb        Two key triple DES EDE in CFB mode
 des-ede-ofb        Two key triple DES EDE in OFB mode

 des-ede3-cbc       Three key triple DES EDE in CBC mode
 des-ede3           Three key triple DES EDE in ECB mode
 des3               Alias for des-ede3-cbc
 des-ede3-cfb       Three key triple DES EDE CFB mode
 des-ede3-ofb       Three key triple DES EDE in OFB mode

 desx               DESX algorithm.

 gost89             GOST 28147-89 in CFB mode (provided by ccgost engine)
 gost89-cnt        `GOST 28147-89 in CNT mode (provided by ccgost engine) 

 idea-cbc           IDEA algorithm in CBC mode
 idea               same as idea-cbc
 idea-cfb           IDEA in CFB mode
 idea-ecb           IDEA in ECB mode
 idea-ofb           IDEA in OFB mode

 rc2-cbc            128 bit RC2 in CBC mode
 rc2                Alias for rc2-cbc
 rc2-cfb            128 bit RC2 in CFB mode
 rc2-ecb            128 bit RC2 in ECB mode
 rc2-ofb            128 bit RC2 in OFB mode
 rc2-64-cbc         64 bit RC2 in CBC mode
 rc2-40-cbc         40 bit RC2 in CBC mode

 rc4                128 bit RC4
 rc4-64             64 bit RC4
 rc4-40             40 bit RC4

 rc5-cbc            RC5 cipher in CBC mode
 rc5                Alias for rc5-cbc
 rc5-cfb            RC5 cipher in CFB mode
 rc5-ecb            RC5 cipher in ECB mode
 rc5-ofb            RC5 cipher in OFB mode

 aes-[128|192|256]-cbc  128/192/256 bit AES in CBC mode
 aes-[128|192|256]      Alias for aes-[128|192|256]-cbc
 aes-[128|192|256]-cfb  128/192/256 bit AES in 128 bit CFB mode
 aes-[128|192|256]-cfb1 128/192/256 bit AES in 1 bit CFB mode
 aes-[128|192|256]-cfb8 128/192/256 bit AES in 8 bit CFB mode
 aes-[128|192|256]-ecb  128/192/256 bit AES in ECB mode
 aes-[128|192|256]-ofb  128/192/256 bit AES in OFB mode

阅读全文»

fbctf平台搭建指南

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

看这篇文章之前请确认服务器有超过1G的内存,不然可以不用看了

我在阿里云ECS上面搭建的:

# uname -a
Linux fbctf 3.13.0-86-generic #130-Ubuntu SMP Mon Apr 18 18:27:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/issue
Ubuntu 14.04.5 LTS

首先在/etc/apt/sources.list加上以下源(或者直接替换)

阅读全文»

Pwn环境的搭建

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

系统: Ubuntu 14.04.5 LTS

我先后分别有在Kali(Debian),CentOS上测试,最后还是觉得Ubuntu最好用了,我这里用ubuntu-14.04.4-desktop-amd64

Ubuntu系统安装过程网上超多,我不赘述了,装好后进到系统,首先先初始化root密码

sudo passwd root
你当前用户的密码
root密码

阅读全文»