客服QQ:872490018 服务时间:9:00-21:00
i春秋学院
培育信息时代的安全感

当前位置:首页 > 安全 > 技术 > 正文

CTFcrackTools-V3 – 一款旨在帮助 CTFer 在 CTF 中发挥作用的一个框架
作者:
2017年08月22日 15:50:12
4296 次阅读
来源: 爱尖刀

CTFcrackTools-V3

CTFcrackTools重置版

作者:米斯特安全-林晨、摇摆、奶权

米斯特安全团队首页:http://www.hi-ourlife.com/

部分插件来源:希望团队-nMask

框架介绍

这大概是国内首个应用于CTF的工具框架。

可以被应用于CTF中的Crypto,Misc…

内置目前主流密码(包括但不限于维吉利亚密码,凯撒密码,栅栏密码······)

用户可自主编写插件,但仅支持Python编写插件。编写方法也极为简单。

该项目一直在增强,这一次的重置只保留了部分核心代码,而将UI及优化代码重构,使这个框架支持更多功能。

项目地址:https://github.com/0Chencc/CTFCrackTools

插件编写

#-*- coding:utf-8 -*-
'''
{
  title:程序标题
  type:程序类型
  author:作者昵称
  dialog:变量
  detail:插件详情
}
'''
def main(a):
    return a

现在来具体讲下这些插件的用法,具体应该将下框架的调用方法。

编码类型当然是utf-8啦

Type:Crypto是一个硬性要求,因为我目前只写了Crypto的类,我打算在后期加上压缩包,图片的分类出来,慢慢完善。

main的方法中,至少有一个变量,至多有四个变量。

除了第一个变量以外的,都应该在Dialog后标明。

Example:我们团队的奶权写了一个维基利亚密码的插件

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
{
Title:VigenereDecrypto
Author:naiquan
Type:crypto
Dialog:key
Detail:维吉利亚密码解码
}
'''
def vigenereDecrypto(ciphertext,key):
    ascii='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    keylen=len(key)
    ctlen=len(ciphertext)
    plaintext = ''
    i = 0
    while i < ctlen:
        j = i % keylen
        k = ascii.index(key[j])
        m = ascii.index(ciphertext)
        if m < k:
            m += 26
        plaintext += ascii[m-k]
        i += 1
    return plaintext
def main(ciphertext,key):
    return vigenereDecrypto(ciphertext.replace(" ","").upper(),key.replace(" ","").upper())

这样写的话,框架就可以自行读取插件信息,然后会弹一个窗口请输入key。而ciphertext则是直接传入。

如图:

def vigenereDecrypto(ciphertext,key)

ciphertext即是输入的内容,key是由弹窗出来由用户填写的。

界面介绍

 


[广告]赞助链接:

舆情监测,互联网舆情首选查舆情:http://www.chayuqing.com/
四季很好,只要有你,文娱排行榜:http://www.yaopaiming.com/

  • 网络尖刀
    公众号:mcbang_com
    数据、技术、运营
  • 知安
    公众号:knowsafe
    黑客、技术、安全
  • 查舆情
    公众号:chayuqing_com
    舆情、文娱、品牌

Copyright © 2013 IjianDao.Com,All Rights Reserved

网络尖刀 版权所有 京ICP备14006288号-3