前言 MD5是一种哈希算法,用来保证信息的完整性。 就一段信息对应一个哈希值,且不能通过哈希值推出这段信息,而且还需要保证不存在任意两段不相同的信息对应同一个哈希值。 不过MD5算法算出来的值也就16byte(即128bit),肯定存在相同的,找到另一个所花时间长短而已。 填充信息 我们要对一个字符串进行MD5计算,那么肯定要从这个字符串的处理入手。 我们知道一个字符的长度是1个byte,即8bit的长度。 MD5对待加密的字符串的处理是将一个字符串分割成每512bit为一个分组,形如N*512+R,这里的R是余下的位数。这个R分为几种情况: R=0时,需要补位,单补上一个512bit的分组,因为还要加入最后64个位的字符串长度。 R<…
TQLCTF-Wordle题目出自当下火热的填字游戏 填字游戏的规则为输入五个字母,然后分别返回五个颜色 绿色:位置和字母均正确 黄色:字母正确位置不正确 灰色:字母和位置均不正确 我们的任务就是用最少的次数,把答案找出来 在该题目中,颜色可以通过字节流分辨出来。在这之前,我在B站大学看到过一个讲述相关技术的视频,于是我就翻了下。 利用信息论解决Wordle问题 理论存在,实践开始 于是,又写了一个10K的代码,发现自己的代码只能做到平均4.3左右。 好废物啊我 于是上Github找轮子Wordle-solver 这个开源项目能做到平均3.4,然后就有了如下10K代码 ...
Windows中WSL默认磁盘为C盘,这导致在安装了Docker,Kali,Ubuntu等WSL后,C盘空间不足,于是参照相应Issue有如下脚本 #以下脚本均应该在PowerShell管理员模式下运行 wsl --list -v PS C:\Windows\system32> wsl --list -v NAME STATE VERSION * Ubuntu Running 2 docker-desktop-data Running 2 docker-desktop Running 2 kali-linux Stopped 2 #查看相应WSL wsl --shutdown #停止WSL wsl --export Ubuntu F:\WSL…
VNCTF-CRYPTO-ezmath是一道完全没难度的密码题,但是又是一道非常有难度的脚本题 这题只要返回4*N就好,难度就在写脚本了 在PWN等运用到nc的题目中,Sha256是最好的防止扫端口的计算方法。 由于Sha256不可逆,我们只好通过暴力或者撞库的方式找出所有解 但是这题又使用的是Sha256(????+XXXXXXXXXXXX)这样的方式,所以只好选择暴力了 再配合上pwntools,发就完事了 ...
见到了一题比较离谱的base64题目,VNCTF2022-Web-gocalc0,可能是我太菜的原因,明明hint告诉我,flag在session里面,我却怎样都Base64出不来,一直说解密出错。 这题对于Web没有一点难度,姑且放在MISC分类里面。 Base16 使用字符:数字(0 ~ 9),字母(A ~ F) Base16先获取输入字符串每个字节的二进制值(不足8bit在高位补0),然后将其串联进来,再按照4bit一组进行切分(2^4=16),将每组二进制数分别转换成十进制,并对应下述编码。 即二进制转十六进制,对应下表 值 编码 值 编码 值 编码 值 编码 0 0 4 4 8 8 12 C 1 1 5 5 9 9 13 D 2 2…
VM2的沙箱逃逸出自VNCTF2022-WEB-newcalc0 根据hint访问package.json ///source?path=/package.json ... "dependencies": { "express": "^4.17.1", "pm2": "^4.5.6", "vm2": "^3.9.5" } ... 再阅读源码,无其他位置可以注入,故寻找VM2的CVE 这里有个CVE数据库可以使用 Snyk Vulnerability Database(https://security.snyk.io/) 我们于是找到了一个VM2绕过的CVE Sandbox Bypass Affecting VM2 versions { get…
在打VNCTF2022的时候遇到这样一道题,图片直接放在文章肯能看不清,各位可以点开来仔细观看 放大来看 又是点阵图,这不就是妥妥的点阵提取嘛,打开画图,量出来点之间的距离,然后开造! 结果,出来很意外,每个点之间的距离都是不一样的,都在49~51之间浮动,这就导致直接提取不能提取出有效的信息 好在,每一行每一列的点都在同一条直线上,只要求出最左上角的点,然后跑出每一行每一列的坐标,再拼接即可 拼接的话可以使用OpenCV库,但是Python的PIL(Pillow)好像更胜一筹,于是学了一下写了个脚本 from PIL import Image,ImageDraw image = Image.open("misc-img-pixel-1.pn…
MISC题目中,ZIP压缩包一般会有五种破解方式 暴力 字典 明文 冗余数据 伪加密 一般来说我们可以使用ARCHPR来帮助我们破解ZIP 在得到一个压缩包的时候,我们应该先阅读属性内容,里面能给你一些解题提示 这个就提示我们要六位暴力 以下就是提示我们可能存在冗余数据 其次,我们还可能存在字典,当然啦,我们要有对应的字典才行 在打开压缩包的时候,我们可以留意一下内外压缩包的文件时候有CRC校验码相同的,如果有我们可以尝试明文破解口令。 但是我们也可以不破解口令,直接通过密钥解密文件 在处理冗余数据时,我们可以采用binwalk判断冗余数据,并且binwalk -e提取,有时候不行的话还是自己动手吧 以上四种都很好理解,伪加密我们要使用Win…
Dnslog相信渗透的都不陌生,但我只是在Apache Log4j后才意识到这东西是有多好用 但是有些时候,知名的dnslog.cn网站就会崩溃。 既然这样,干脆就自己搭一个,但是过程十分艰辛。 由于我设置了@*解析,我就不需要再对ns1.xxx.cn/ns2.xxx.cn进行解析 具体如下 然后我们就接着物色dnslog平台 一个非常古老的BugScanTeam的DNSLOG 于是乎,调了好久,6年前的代码,还要改cdn,还要改ssl(开发组历史遗留问题) 最后改完了,发现一直301,查看issue才发现要修改 SECURE_SSL_REDIRECT = False 然而,无论怎么修改数据库,还是进不去他的管理界面! 之后只好另谋出路,最后…
Metasploit一款开源安全漏洞检测工具,其不断更新的Payload使其成为了最强大的渗透框架之一 对于MSFCONSOLE(简称MSF),就不多赘述安装部署了,对于日常渗透使用一般可以再Viper中使用。 常见参数解读: -p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的 -l, –list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all -n, –nopsled < length> 为payload预先指定一个NOP滑动长度 -f, –format < form…