今天做CTF练习题的时候碰到这样一道题,挺有趣的,记一下。

题目只有一个加密压缩包,里面就有一个flag.txt的文件,显然就是需要设法破解出这个压缩包的密码。

另外题目有一句话写着trylowerandupper。直译就是试试小写和大写。直接用这个作为密码,发现无效,全部转成大写,发现也无效。

想了一下,可能正确的密码应该就是把这句话的部分字母改成大写,部分字母改成小写。那么我们的思路就是去生成这样的一个字典,然后用跑字典的软件ARCHPR去跑一下。

trylowerandupper这句话共有16个字母,每个字母都有大小写两种可能,那么就有2的16次方种可能性,也就是65536种,应该算不算很多。我们用js生成一下字典,并储存到textarea中。

<!DOCTYPE html>
<html>
<head><title></title><textarea id="textarea"></textarea>
</head>
<body></body>
<script type="text/javascript">var cipher = 'trylowerandupper'
var dict = []function crossdict(l,u){var tmp1 = [].concat(dict);if(tmp1.length){for(var i,i=0;i<tmp1.length;i++){tmp1[i] += l;}}else{tmp1 = [l];}var tmp2 =[].concat(dict);if(tmp2.length){for(var i,i=0;i<tmp2.length;i++){tmp2[i] += u;}}else{tmp2 = [u];}dict = tmp1.concat(tmp2)
}function makedict(){for(var i,i=0;i<cipher.length;i++){crossdict(cipher[i].toLowerCase(),cipher[i].toUpperCase());}var value = ''for(var i=0;i<dict.length;i++){value += dict[i] + '\n';}document.getElementById("textarea").value = value;
}makedict();</script>
</html>

随便找个浏览器运行一下,然后把textarea中的内容复制到新建的txt中,保存成字典。

接着就是跑字典了,意料之外的迅速呀,一下子就得到了压缩包的密码。

打开压缩包得到flag:

CTF 大小写字母转换 try lower and upper相关推荐

  1. excel的大小写字母转换函数(LOWER、UPPER、PROPER)

    目录 1.LOWER函数 2.UPPER函数 3.PROPER函数 1.LOWER函数 (1)语法:LOWER(text) 即LOWER(目标单元格或文本) 参数:text表示目标文本或者单元格 (2 ...

  2. java字符串变成字母,java字符串的大小写字母转换

    java怎样将大写字母转换成小写字母 具体代码如下,字符串中大.小写互转 1)输入 第一行只有一个整数m(m java 字符串指定位置的字母大小写转换 例如把 String Sa="SDFE ...

  3. js字母大小写字母转换

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...

  4. C语言大写字母E转小写e,C语言 大小写字母转换

    C语言 大小写字母转换 C语言大小写字母转换 1. 完成一个大小写字母自动转换的程序,输入大写字母,程序可以输出小写字母,输入小写字母,可以输出大写字母 #include int main() { c ...

  5. 条件运算符与条件if的姻缘,打擂台算法和大小写字母转换,if逻辑避坑

    文章目录 绪论 1.if语句判断与条件运算符的等价形式 2.图解"打擂台"的巧用 3.大小写字母转换 4.if代码编写规范,避坑逻辑错误 绪论 1.if语句判断与条件运算符的等价形 ...

  6. 大小写字母转换 (15分)

    大小写字母转换 (15分) 输入一行字符,以回车符 '\n' 结束,将其中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出. 输入格式: 输入一行字符,以回 ...

  7. C++ | 大小写字母转换

    1.题目描述 实现字母的大小写转换.多组输入输出. 输入描述: 多组输入,每一行输入大写字母. 输出描述: 针对每组输入输出对应的小写字母. 答案如下: #include<iostream> ...

  8. C语言——大小写字母转换

    C语言大小写字母转换 在 C 语言中区分字母的大小写,利用 ASCII 码中大写字母和小写字母之间的转换关系(差值为 32),可以将小写字母转换为大写字母. 1.小写转换大写 int main() { ...

  9. c++语言字母转换,c++大小写字母转换的思路有几种?

    C++简介: C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计.C++擅长面向对象程序设计 ...

最新文章

  1. 风险管理6个过程及相关重点
  2. 跨域调用WebApi
  3. java多维数组按照某一列排序,PHP实现二维数组按某列进行排序的方法
  4. POM思想__首页页面元素查找、功能点实现进行封装
  5. Spring RESTful Web服务中的异常处理
  6. JMS学习三(ActiveMQ消息的可靠性)
  7. Qt|C++工作笔记-QVector与Vector去重复的值
  8. 儿童卫士360智能手表,给孩子更多保护
  9. Matlab2021a安装教程
  10. mysql 管理工具 绿色_飘云MySQL管理工具(MySQL数据库管理助手)V1.1 最新版
  11. XFTP6 要继续使用此程序,您必须应用最新的更新或使用新版本
  12. 网络安全界基于知识的识别和映射提出网络空间资源分类明细
  13. 数字图像处理实验四平移性质和旋转性质
  14. 计算机辅助英语听说考试系统,英语听说考试
  15. 傻白入门芯片设计,Substrate/RDL/Interposer/EMIB/TSV(三)
  16. 2个或2个以上路由器串联上网,在同一网段
  17. 数字图像处理|Matlab-数字图像编码实验-无损编码/压缩算法实验-实现行程编码压缩, 计算原图和压缩以后的尺寸,计算压缩率并比较分析
  18. 【Python】ConnectionResetError [WinError 10054] 远程主机强迫关闭了一个现有的连接
  19. 泰州学院计算机与机械学院副院长,2020届考研学子风采展示
  20. 树莓派安装网易云音乐amd64(Exagear)

热门文章

  1. 怎么随时获取Spring的上下文ApplicaitonContext,和Spring管理的Bean
  2. Titanic数据分析
  3. UVA 1646 Edge Case
  4. [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目
  5. [Objective-c 基础 - 2.10] description方法
  6. GAE Python 2009-3-22
  7. y电容如何选型_常用电子元器件分类选型以及单端反激正激变压器设计 (MOS管、电感部分)...
  8. 在DigitalOcean玩Kubernetes(K8S)
  9. php jsonp实例 mip无限滚动组件接口注意事项
  10. unity3d鼠标拖拽模型,旋转模型