bugku web/crypto 系列题目思路总结(二)

bugku web4

http://123.206.87.240:8002/web4/
p1 = function checkSubmit(){var a=document.getElementById("password");if("undefined"!=typeof a){if("67d709b2b
后半部分 54aa2aa648cf6e87a7114f1"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;
代码可知若a.value符合if,则返回成功。
主要用到了eacape 加解密。

bugku flag在index里。

http://123.206.87.240:8005/post/
这里有一个文件包含漏洞:
这博客写的很好
https://blog.csdn.net/qq_41289254/article/details/81388343
php://filter/resource=xxx.txt相当于Include文件。路径为相对路径
同时php只会识别文件内容语法格式不管后缀名。
php://input 会执行当前页面的php代码。
file:// 可以访问绝对路径文件
phar:// 可以访问压缩包内文件 绝对路径。
构造访问Index.php文件。并解密

bugku 点击一百万次

http://123.206.87.240:9001/test/
第一想法是利用Js模仿鼠标点击,然后循环一百万次。
之后看见计数的变量clicks就在前端页面中,直接在控制台修改clicks=1000000即可。

bugku 备份是个好习惯

http://123.206.87.240:8002/web16/
备份:
BKC属于backup4all创建的备份目录中的文件,包含了程序文件和文件夹列表。
NPF属于NTI Backup创建的备份文件,包含整个硬盘驱动器或分区的备份。等
php strstr函数根据后面的字符串截取前面的字符串,
如echo strstr(“Hello world!”,“world”); // 输出 world!
php substr 在数字位置截取
echo substr(“Hello world”,6); // 输出 world
php parse_str 会将字符串解析成多个变量
发现代码含义为寻找两个字符串不同,而md5值相同的两个key。
两种方法:

  1. md5()不能加密数组,所以结果都是null相等。
  2. md5加密后若为0e开头,会被人做科学计数法,结果为0相等。
    (字符串中会过滤掉key,可以用ke\bkey\y方法绕过。)

整体思路为:先根据提示找到bat文件,阅读源码凑两个key相等,小技巧是凑数组和0e。

Wechall Transposition I

http://www.wechall.net/challenge/training/crypto/transposition1/index.php
观察性密码,肉眼几乎看出答案。
转换时记得将空格先转换为特殊符号再处理。
先空格->@ ,每两个字符间加空格, 词倒换, 去空格, @->空格,密码出现了。

bugku ok/这不是摩斯电吗

这两个属于特殊加密,编码比较少见,分别为三符号,和四符号加密(非专业命名)。没查到规律,不过应该不难。
http://tool.bugku.com/brainfuck/?wafcloud=1

bugku easy_crypto

只有01两种数字,认为是摩斯电码加密。转换可得答案。(需要另外添加标点符号,可能是我转换的不对。不过难点不是符号)

bugku 简单加密

需要对各种加密特征足够了解。
base64加密末尾为==
此处密码末尾为AA
可认为是凯撒+base64混合。
转换可得答案(使用工具并不能加快解密码速度,应该同时练习自己写脚本的速度。)

bugku 散乱的密文

提示为216534,发现给的乱码数量是6的倍数,把他们每行六个列出,按照216534的列重新排。得到答案。

bugku 凯撒部长的奖励

凯撒,列出所有结果。可看到英文语句答案

bugku 一段base64

这道题了解了很多编码格式。对各种编码都要知道特征。
末尾有== 为base64特征。
反斜杠分割的十进制数字。使用escape解码。
\x开头的十六进制数字。 用hex解码。
\u开头的十六进制数字。用escape解码
之后有提示string from charcode。用dec to text
&#x开头的十六进制数字。用decode html。
&#十进制,用unicode解码得到ascii码。
其中部分%开头使用url解码。最后得到答案。

bugku .!? / +[]-

.!? 三个符号加密,实际上和ok题目一样。办法就是每个符号前加上flag{bugku_jiami}然后在解密。
+[]- 直接复制到http://tool.bugku.com/brainfuck/?wafcloud=2解决。

bugku 奇怪的密码。

没有思路的时候,拿密文和答案比较。
g-f =1 . n-l = 2 . d-a = 3.
发现是密文减去等差数列。得到答案。

bugku 托马斯.杰斐逊

这里涉及到一个杰斐逊转轮加密,先根据密钥调整行间的顺序。然后根据密文调整行内文字顺序。
相当于两次转轮。
只有密文行列是有意义的文字,其他都是乱码,得到变换后的矩阵后要在其中找到有含义的文字。

bugku zip伪加密

引用博文:
https://www.jianshu.com/p/05c81a2b4dd9 (伪加密复原)
http://www.likecs.com/show-27273.html (压缩文件数据区表示)
用笔记本文件打开zip。在文档中搜索504B。后面的将09 改为 00即可去除伪加密。

base64说明:为了把不可见的信息用可见字符表达出来,二将8bit字符转换为6bit字符的编码。原文长度若不是3的倍数,则需要填=号补。
base64编码特征:

  1. 字符串只包含A-Z,a-z,0-9,+,/,=字符
  2. 字符串长度是4的倍数
  3. =出现在字符串最后,可能0-2 个等号

进制英文表示法:
bin binary 二进制
oct octal 八进制
hex hexadecimal 十六进制
dec decimal 十进制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值