![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF
文章平均质量分 73
Silver Bullet
这个作者很懒,什么都没留下…
展开
-
[LineCTF2022]Memo Drive
漏洞的成因是 Starlette 错误地把分号当成参数的分割符,分号后面的字符串将被当成query_params.keys(),因此如果参数设置成view?/会被当成query_params.keys()拼接到filename之前,最终代码中的path就会变成。这里涉及到CVE-2021-23336:https://github.com/encode/starlette/issues/1325。但是这只是一个假的flag,我们需要使用burp爆破目录读取文件,发现在/proc/1/environ中。原创 2023-05-12 13:09:09 · 195 阅读 · 0 评论 -
[HMGCTF2022]Fan Website
打开README.md发现这是一个Laminas项目,依照官方教程:https://docs.laminas.dev/tutorials/,找到新创建的应用为./module/Album,其中配置文件为./module/Album/config/module.config.php,包含路由映射和控制器等信息。控制器文件为./module/Album/src/Controller/AlbumController.php。将shell.phar重命名为test.jpg并上传,得到保存的文件路径。原创 2023-05-12 13:06:17 · 198 阅读 · 0 评论 -
[HFCTF2022]ezchain
二次反序列化的目的是为了将一个受限的反序列化转换为一个不受限的反序列化。如果Java中有一个类的方法可以自己实现反序列化那么就能满足了我们的需求,而java.security.SignedObject#getObject()可以很好的满足我们的需求。这里就可以调用HashMap#put–HashMap#hash()–key.hashCode() 再往下就是我们熟悉的利用链了,而ROME中的EqualsBean类中重写了hashCode()方法,里面会调用EqualsBean#beanHashCode()原创 2023-05-12 13:01:19 · 3383 阅读 · 0 评论 -
BlockChain-Account_TakeOver
从上面的签名过程我们可以看到最关键的地方就在于随机数k,对于一个固定的椭圆曲线,一个确定的k就意味着一个确定的r,所以如果有两个相同的私钥签署的签名出现了相同的r就代表着在生成随机数时取到了相同的k,看到这里想必你也明白了我们题目的交易签名的问题出在哪了,这两笔交易的r值相同,代表在它们签名时使用的随机数k是相同的,而这就是我们恢复私钥的关键。PubkeyScript是一张记录了交易记录的指令列表,它控制了下一名使用者如何解锁已接收的比特币并传送。,接下来就是签名的过程,要签名的消息为。原创 2023-05-12 12:06:46 · 986 阅读 · 0 评论 -
[CTF-MISC]halfface
CTF MISC halfface重新打开文件,发现hint.txt:查一下OTk5OQ,发现是base64编码,解码得到9999999999符合密码的格式解密y.zip得到:base64解码(要用urlsafe),写入图片,得到:用zsteg查看隐写信息,发现xml元数据用tweakpng打开发现看到这个括号就明显是flag了,使用exiftool查看原创 2022-12-04 01:05:49 · 455 阅读 · 0 评论 -
L3HSEC 2022秋季招新赛部分WP
L3HSEC秋季赛部分wp原创 2022-11-03 10:00:16 · 463 阅读 · 0 评论