维吉尼亚密码-攻防世界(shanghai)】的更多相关文章

维吉尼亚密码 维吉尼亚密码是使用一系列 凯撒密码 组成密码字母表的加密算法,属于多表密码的一种简单形式. 加密原理 维吉尼亚密码的前身,是我们熟悉的凯撒密码. 凯撒密码的加密方式是依靠一张字母表中的每一个字母做一定的偏移.密文生成过程中,其偏移量相等. 而,升级版的维吉尼亚密码则是在原有基础上,让相等偏移量变为不等的偏移量.以给出的密钥来确定密文的偏移量.在一定程度上,加大了解密的难度. 当然原理还是一致的,都是依靠偏移量进行加密. 简单例子 这是一张用于加密的字母表. 比如给出的 明文是 HE…
[CTF]维吉尼亚密码(维基利亚密码) ----------------------百度百科 https://baike.baidu.com/item/维吉尼亚密码/4905472?fr=aladdin 维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式. 中文名 维吉尼亚密码 外文名 Vigenère cipher 出    处 吉奥万巴蒂斯塔贝拉索先生的密码 性    质 加密算法 名词解释 恺撒密码的基础上扩展的多表密码 组成元素 明文…
package cn.longxuzi; import java.util.Scanner; import org.junit.Test; public class ICUtils { /** * @author龙须子(XuziLong) * @param null * @return String [][]devideCipherText * @Date 2013-11-20 PM 19:00 */ public String[][] devideCipherText() { // 根据密钥长…
package cn.longxuzi; import org.junit.Test; public class Chi_SquareUtils { private static final ICUtils icUtils = new ICUtils(); /** * @author信息111李继华(LiJiHua) * @param String *            [][]ciphertext * @return null * @Date 2013-11-21 PM 19:23 * @…
维吉尼亚的加解密有两种方法. 第一种是查表:第一行为明文,第一列为密钥,剩余的为对应的密文 第二种方法是转化计算法:逐个将字符转化为从零开始的数字,对数字进行加密/解密后,再转化为字符. 本文要用c++实现第二种方法,并且为了操作方便,使用了MFC框架(附工程下载) 核心代码如下: //cipher.h 额外添加的文件,用来放置相关算法,此文件独立于MFC外,可直接移植到支持CString的项目中 int* CStringToInt(CString str){ //将CString转换为zero…
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Vigenere { public partial class Form1 : Form { private s…
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Vigenere { public partial class Form1 : Form { , ]; priv…
加密key='COMPUTER' plaintext='BLOCKCIPHERDESIGNPRINCIPLE' ascii='abcdefghijklmnopqrstuvwxyz'.upper() keylen=len(key) ptlen=len(plaintext) ciphertext = '' i = 0 while i < ptlen: j = i % keylen k = ascii.index(key[j]) m = ascii.index(plaintext[i]) cipher…
# -*-coding:UTF-8-*- from sys import stdout miwen = "KCCPKBGUFDPHQTYAVINRRTMVGRKDNBVFDETDGILTXRGUD DKOTFMBPVGEGLTGCKQRACQCWDNAWCRXIZAKFTLEWRPTYCQKYVXCHKFTPONCQQRHJVAJUWETMCMSPKQDYHJVDAHCTRLSVSKCGCZQQDZXGSFRLSWCWSJTBHAFSIASPRJAHKJRJUMVGKMITZHFPDISPZLV…
最近有个朋友问我关于维吉利亚密码如何用python实现加密,研究之后发现这是个挺好玩的东西,遂决定写篇博文记录一下. 一.何谓维吉利亚密码 第一列是密钥字母列,第一行是明文字母行.不难看出维吉利亚密码是基于凯撒加密进一步的延伸,使用了密钥的概念来对抗字频统计. 维吉尼亚密码引入了"密钥"的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计.假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密: TO BE OR NOT TO BE THAT IS THE…
1.flag_in_your_hand && flag_in_your_hand1 下载,解压后 打开index文件,直接点击get flag错误,输入其他点击也同样 打开js文件,在其中找到正确的Token条件 可知Token里要填的是a数列里的ASCII码得到的字符,代码如下: 1 2 3 4 5 6 7 8 9 a=[118, 104, 102, 120, 117, 108, 119, 124, 48, 123, 101, 120] b=list() for i in a:     …
56.low 得到一张bmp,世纪之吻,扔进kali中,binwalk,zsteg,无果,再放进stegsolve中,虽然发现小的数据块,但是过滤通道得不到任何信息,猜测是要用脚本进行 # lsb隐写 import PIL.Image as Image img = Image.open('low.bmp') img_tmp = img.copy() pix = img_tmp.load() width,height = img_tmp.size for w in range(width): fo…
0x00 记录一下,代表自己做过 0x01 flag_universe 看简介是来自2018年的百越杯. 将文件下载下来后,就一个flag_universe.pcapng文件,wireshark打开. 追踪tcp流,发现是FTP传输文件,传输的是一张图片.(心想难不成直接图片就显示了flag) 先尝试能不能导出文件,额,不行,试了一会发现,还是自己找数据吧. 会发现3.4.6.11.13.14处发现png图片的数据流以及7.8处的base64加密的假的flag值. 仔细观察发现4和11处的数据不…
长期更新一波 攻防世界 的杂项题解 这东西主要靠积累吧 攻防世界:https://adworld.xctf.org.cn 因为攻防世界的题目顺序经常变化,我也不改序号了,顺着之前写的位置往下写,推荐使用 ctrl+F 搜索题目名字来定位 在语雀上建立了一个杂项知识库,收集杂项的知识点:https://www.yuque.com/hxfqg9/tx8y1v/uew75k 新手练习区 1.this_is_flag 题目直接给出了 flag 2.ext3 主要考察 linux 下光盘的挂载 strin…
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 robots4 0x04 backup6 0x05 Cookie7 0x06 disabled button8 0x07 simple js9 0x08 XFF Referer10 0x09 weak auth(弱口令密码)12 0x10 web shell15 0x11 command_executio…
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经执行成功,执行的是一个ping命令,一开始想的应该是命令拼接执行,但是输入任何有关拼接的字符串都会提示invalid url 说明系统对这些字符串都进行了过滤,fuzz测试后发现只有@没有被过滤. 且当输入@时,会将@编码为%40 尝试在url处输入宽字符,比如%bf 出现报错信息,是一段html代…
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间  明明没算错呀  hhhh  不仅仅是Morse 一看首先肯定要用morse解码 解密morse密码工具https://tool.lu/morse/ 你看提示maybe have 什么什么什么 就知道还要再解码 再看后面的很像培根密码 解密培根密码工具https://tool.bugku.com/peigen/…
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在网上看到可以在url前面插入view-source:来查看网页源代码 第二题 get_post 题目描述点明了该题要用到关于http的两种请求方式,那么就要学习一下http的几种请求方式. 查阅各种博客之后,发现get的请求方式直接在url框内输入就好,而post的请求方式需要用其他方式写入参数,有…
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js 第八题xff_referer 第九题weak_auth 第十题webshell 第十一题command_execution 第十二题simple_php 第一题view_source f12查看源码 第二题get_post 1按照提示先get一个a=1,在post一个b=2,就行 第三题robots…
攻防世界入门的题目 view source 禁用右键,F12审查元素 get post hackbar进行post robots 直接访问robots.txt,发现f1ag_1s_h3re.ph文件,直接访问 backup 备份文件一般是在后缀名后加.swp,.bak 本题尝试index.php.bak成功获取源码 cookie burp抓包,发现提示,查看cookie.php,在响应头发现flag 火狐,F12,网络,cookie可以看到提示,访问之后再看响应头即可 disabled_butt…
攻防世界-Web_php_include   (考察的是文件包含) 打开页面是这样一段代码从代码中得知page中带有php://的都会被替换成空 str_replace()以其他字符替换字符串中的一些字符(区分大小写) strstr() 查找字符串首次出现的位置.返回字符串剩余部分 <?php show_source(__FILE__); echo $_GET['hello']; $page=$_GET['page']; while (strstr($page, "php://"…
攻防世界Web刷题记录(新手区) 1.ViewSource 题如其名 Fn + F12 2.get post 3.robots robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围:如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面. 于是扫描根目录: 4.backup 打开: 常见的备份文件后缀名有: .git .s…
攻防世界系列:Web_php_include 方法一:大小写绕过 strstr()函数对php我协议进行了过滤,但我们可以尝试大小写绕过 抓包POST传值让其执行我们输入的命令 ?page=Php://input <?php system('ls'); ?> 发现可疑文件,执行命令打开 方法二:data://协议绕过 原理相同,不让用php我们就用data哈哈 ?page=data://text/plain,<?php system('ls'); ?> Tips: data协议的一…
攻防世界Web区部分题解   前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 对象 , 类 , 数组 , 变量 , 匿名函数 . 通过这种相互转换 ,从而完成 数据持久化. 谈到php的反序列化,就不能不说反序列化中的几种魔术方法,下面是文档中对于魔术方法的说明. 下面看几种重要的魔术方法: __wakeup方法 unserialize()会先检查是否存在一个__wakeu…
攻防世界misc---János-the-Ripper 附件题目,题目的文件名为:misc100. 下载后,拖入linux中,binwalk发现有隐藏文件.用"strings  János-the-Ripper|grep flag"可以发现文件中有flag.txt. 用winhex打开文件,发现文件头为PK,这时候联想到文件后缀名应该为zip,修改文件后缀名.  解压zip文件的时候,发现需要密码.我解压的时候,用的是BreeZip这个工具,一般的伪加密文件都可以直接解压,这里需要密码…
攻防世界 Misc 新手练习区 give_you_flag Writeup 题目介绍 题目考点 gif图片分离 细心的P图 二维码解码 Writeup 下载附件打开,发现是一张gif图片,打开看了一下图片,发现有一帧是二维码 到Linux下,使用 convert flag.gif %02d.png 命令 分离gif图片(此前我已将附件重命名为flag.gif) 分离后就可看见那张二维码图片 打开扫了半天没扫出来,仔细一看这个二维码不全,没有定位符 P图一波,把定位符加进图,如下 使用二维码在线工…
攻防世界MISC进阶之签到题    第一步:分析    第二步:实操    第三步:答案第一步:分析难度系数:1星题目来源: SSCTF-2017题目描述:SSCTF线上选举美男大赛开始了,泰迪拿着他的密码去解密了,提交花括号内内容(Z2dRQGdRMWZxaDBvaHRqcHRfc3d7Z2ZoZ3MjfQ==)首先看到这种格式的数据想到是base64加密,于是使用站长工具进行解密.第二步:实操http://tool.oschina.net/encrypt?type=3得到ggQ@gQ1fqh…
这是攻防世界MISC高手进阶区的题目: 点击下载附件一,解压后得到一个没有后缀的文件,老规矩用010editor打开,发现存在一个flag.txt文件 用foremost分离一下: flag.txt被存在一个0000000的压缩包中,解压需要密码,尝试用破解一下: 得到的解压密码为fish,解压后即可打开flag文件拿到flag 所以这道题的flag如下: flag{ev3n::y0u::bru7us?!} 以上就是我对这道题的解法.因本人菜鸡一只,如果有什么不对的地方,实属正常.还请各位大佬予…
这是攻防世界MISC高手进阶区的题目,题目如下 点击下载附件一,解压后得到一个文件,不知道是什么格式,用010editor打开,发现其为png文件,就把它的后缀改为png,然后用stegslove打开,发现图片中心有一个二维码, 不断找到清晰的二维码,(注:最清晰的二维码在random color map 1/2/3 找到),找到最清晰的二维码后截图,再用stegslove把他调至黑白色,如下图: 然后用QR扫一下,即可得到flag,flag如下: flag{#justdiffit} 以上就是我…
这是攻防世界高手进阶区的第十题,题目如下: 点击下载附件一,解压后得到一张图片,把图片放到kali用binwalk查看一下,果然包含了几个文件, 用命令把文件分离出来, 得到一个misc文件和一个压缩包 在misc的文件中由两张一样的图片(命名不同),还有一个hint.txt文件,打开后得到如下提示: 让我们去查看像素,结果还是没有什么发现,尝试将这两张图片合并,用stegsolve先打开to_do.png文件 ,让后点击Analyse,再选择Image Combiner 然后再选择to.png…