自制一个简单的 Hashpump
在学完 MD5/SHA1 之后, 很快就能搞懂 hashpump 的原理, 本质是因为类 MD 哈希函数
包括 MD5, SHA1, SHA2 都是将信息填充为一个 Block 长度的倍数以后分 Block 一轮轮计算的,
最后输出的是寄存器拼接在一起的值, 所以假设用以下公式计算签名
在学完 MD5/SHA1 之后, 很快就能搞懂 hashpump 的原理, 本质是因为类 MD 哈希函数
包括 MD5, SHA1, SHA2 都是将信息填充为一个 Block 长度的倍数以后分 Block 一轮轮计算的,
最后输出的是寄存器拼接在一起的值, 所以假设用以下公式计算签名
输出了两题 web + 一题 crypto, 太菜了 QAQ
因为也是要交上去的, 就写的比较简单了.
历时 N 天, 滴滴终于审完了 Writeup, 终于可以发 wp 了, 我从 33 名到 16 名, 太真实了…
部分题目质量还是不错的 _(:з」∠)_, 因为要交上去, 所以就没截图了, 凑合看吧 (逃
在 AWD 模式下经常碰到不死马, 不干掉的话就会一直被偷 flag, 很难受. 所以研究一下怎么干掉.
本文首发于先知
周末打了两天, 自闭 web 狗就做出来这一题, 另一题不知道调用啥 mbean 能拿 shell. 总之题目质量真的是非常高, 学到了很多.
描述 1Imagick is a awesome library for hackers to break `disable_functions`. 2So I installed php-imagick in the server, opened a `backdoor` for you. 3Let's try to execute `/readflag` to get the flag. 4Open basedir: /var/www/html:/tmp/949c1400c8390865cb5939a106fec0b6 5Hint: eval($_POST["backdoor"]);本文首发于先知
在家里无聊打了 nullcon, 其中有一题用到了 Meet-in-the-middle 这种攻击方式,
在这里分享给大家.
随便 fuzz 一下发现 404 页面有模板注入, http://118.25.18.223:3001/asd%7B%7Bconfig%7D%7D.
拿到 'SECRET_KEY': '9RxdzNwq7!nOoK3*', 把 session 里的 user_id 改成 1 就行了.
这几天沉迷 hgame, 题目质量还是不错的, 其中有一题用到了 DNS rebind, 这里重新记一下笔记. 因为我估计也没多少人看我博客 233, 就直接写了, 不等比赛结束了.
起因是刚出来那天刚好有个站是 5.0.23 但是分析文章没给完整的截图, 打了码. 干脆自己分析一波写写 poc.
PHP 支持了不少协议, 特别是其中的 php:// 和 phar:// 经常能在意想不到的地方发挥意想不到的作用 233. 之前都是花式百度, 这次系统学习一下. 所有的协议都可以在官网上找到.
这些协议一般配合 file_get_contents, include 使用, 部分情况下受到 php.ini 里面的 allow_url_fopen(默认开启) 和 allow_url_include(默认关闭) 限制. 如果 allow_url_include 开启的话, 是非常危险的, 可能存在远程文件包含.
base64 解码一下就行, 不懂的同学可以看一下这个
1$ base64 -d 2QzFDVEZ7dzNsZWMwbWVfdE9fQzFDVEZ9 3C1CTF{w3lec0me_tO_C1CTF}
和师傅们肝了两天, 最后排名 25, 看看一堆没做出来的题, 感到自己深深的菜…
每次复制域名时都会被 Chrome 复制地址时的 https:// 烦到, 所以干脆自己写个拓展来解决这个问题. Chrome 拓展其实就是一个小网页, 也就是 HTML, 所以我们可以用 JavaScript 来实现获取域名和复制的操作. 具体实现如下.
之前一直都是直接无脑
1from base64 import b64encode as b64e只知道大概 base64 是啥东西, 今天突然心血来潮花了几分钟了解了下 base64, 其实原理并不复杂.
牛顿法可以求一些非线性方程的近似解. 而对于求平方根, 可以将 $y = \sqrt{x}$ 化成方程 $x^2 - a = 0$ 中求 $x$ 的值, $x$ 即为 $a$ 的开根号, 根据牛顿法定义, 可以写出以下程序
对于解题来说 一般会给你以下信息:模数N、公钥E和密文C. 如果只是做题的话