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

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

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

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

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

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

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

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

RSA

阅读全文»

Python编写Keylogger

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

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

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

keylogger.gif

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

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

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

阅读全文»

CTFd搭建CTF平台

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

CTFd搭建CTF平台

0x00 前言

搭个CTF平台,看能不能带动一下学校的CTF参与度。

一个下午都在搭这个平台:O 抓瞎摸索,最后成功用Apache+mod_wsgi也算是功德圆满了。

进入正题:

  • 系统: CentOS release 6.8 (Final)
  • Apache: Apache/2.2.15 (Unix)
  • Mysql: Ver 14.14 Distrib 5.1.73
  • Python: 2.7.10

0x01 下载项目&环境配置

git clone https://github.com/isislab/CTFd.git

根据文档4个大步骤:

Install:

  1. ./prepare.sh to install dependencies using apt.
  2. Modify CTFd/config.py to your liking.
  3. Use python serve.py in a terminal to drop into debug mode.
  4. Here are some deployment options

apache和mysql的搭建我不再赘述,python系统自带是2.6,我升到2.7,可参见这里,记得还要装下PyMySQL

阅读全文»

坑爹Dungeon挖洞之二

作者: 时间: 2016-08-13 评论: 暂无评论

hacker.org坑爹Dungeon挖洞之二
接上集,前天轻松跑了Dungeon Master,结果下一关是一个叫Cavern Master。无尽的坑爹之旅启程了...

看下题目,跟上一题一样啊!?只不过他说了这句:

Rumor has it this dungeon is quite deep.

传言这个地老很深?不详的预感。

开始跑脚本,层数多点就一直死翘翘,多加了几个等级判断选择是否下楼的条件,之后就跑啊跑,一看,50层了,卧槽?

50.png

阅读全文»

搭ss玩hacker.org

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

搭ss玩hacker.org

昨天在这里边玩边学!12个可以在线学习编程的免费游戏酷站看到一个有趣的网站->HACKER.ORG/prove your skill/

hacker.org.png

但是这个网站是需要梯子的,我用着niko的ss,全局一下就能访问了,之后开始玩challenge

chanllege.png

先打开了Dungeon Master,一看就知道是一个写脚本跑的题目,下面开始漫长的解题过程。

刚用python写好一个测试脚本,一跑,卧槽?根本访问不了,尝试url换成google后我大概知道什么原因了,python写的脚本不经过shadowscoks的代理,要自己写proxy,查了一下requests官方文档,里面给出使用socks5(shadowsocks默认是socks5协议)代理的方法

proxies = {

'http': 'socks5://user:pass@host:port',

'https': 'socks5://user:pass@host:port'

}

阅读全文»