pnck

@pnck

Joined on Aug 30, 2023

Hosting my writeups.

  • *NOTE: This article is once a part of the writeup of a CTF event. I found the challenge probelem is not that simple as it looks like, so I did much more detailed work and write a lot more. And since the part was going too long, I seperated it to this new post for more friendly reading. Story from a simple format string vulnerable I recently worked on a CTF problem, which requires to take a left-over rbp in the stack frame as the %n pointer to hijack the return address. CleanShot 2024-02-05 at 22.58.04@2x You can read the original writeup for more details of this program. The Amazing, The Weired But not everyone has the luck to see the left-over value, suffering this:
     Like 2 Bookmark
  • links: writeup of hgame 2024 week1 (all challenges) writeup of hgame 2024 week2 (pwn challenges) writeup of hgame 2024 week4 pwn challenge (Google Colab) PWN. Overflow An off-by-null challenge. References
     Like  Bookmark
  • links: writeup of hgame 2024 week1 (all challenges) writeup of hgame 2024 week3 (pwn challenges) writeup of hgame 2024 week4 pwn challenge (Google Colab) PWN. Shellcode Master CleanShot 2024-02-08 at 16.50.00@2x The first payload is restricted to 22 bytes.
     Like  Bookmark
  • links: writeup of hgame 2024 week2 (pwn challenges) writeup of hgame 2024 week3 (pwn challenges) writeup of hgame 2024 week4 pwn challenge (Google Colab) MISC. simple_attack F***: CleanShot 2024-02-02 at 02.06.46@2x
     Like  Bookmark
  • 最近在捣鼓新买的 ESP32 玩具。在翻家里的电子垃圾堆能当外设的组件时想起了这块 GeekPwn 2015 的胸牌。 screen hack (附图:实现在屏幕上打印任意字符的效果,解开了会场广播消息的机制谜题) 作为第一届嘉年华式的 GeekPwn (总的来说是第二届,但第一届是个纯挑战赛的闭门活动),当年这块胸牌比较新鲜的东西。 拿回家就只是个只会循环播放图片的电子画框,但在会场不仅能同步显示现场广播(比如恭喜选手挑战成功的消息),还留了一个挑战题目,通过胸牌能攻入某个挑战服务器,从而获得一些奖励。 只可惜当年参会的时候还是个普通大学生,行程仓促也来不及仔细研究内中玄机。回来之后胸牌一扔就被遗忘在了角落里,就这么静静地躺了那么多年。 翻它出来的时候一拨开关,竟然还有电! 热泪盈眶的同时也不免产生了好奇心 —— 所以它到底是怎么玩的,在玩什么呢?
     Like  Bookmark
  • 本文档由 Markdown「语言」强力驱动 No.0x00. 为什么要学C语言 & 什么样的我最应该学C语言? 首先C语言是一种高级语言,同时它又非常接近底层,C 的编译器是目前世界上能生成最接近汇编极限效率的编译器,学习 C 语言可以了解到很多现代编程语言的特性,同时又能对硬件机制产生一定概念。 C 语言的「抽象^abstr方式」较少,且没有对内存操作进行高级封装,这意味着开发者需要自行处理数据在内存中的传递,同时也意味着学习者能学习到大量数据与内存的细节,这对以后更高级更抽象语言的理解会很有帮助。 一般来说,一个合格的 programer 需要由内而外地了解程序世界的前世今生,C 就是这样一个契机,尽管它门槛比较高,但跨上去之后也会成为一个比较高的平台。but ofcoz,初学者通常也只关注 语言本身 而不是它带来的其它什么意义,所以我们也会推荐web初学者去看html或者php,对于更注重算法而不是程序实现的py(比如数学生物等非计算机的专业)会先学习脚本(如python)或matlab. No.0x01. 我应该用什么工具来学习? 首先请弄清编译器和IDE(集成环境)的区别。无论选择什么编译器/IDE,基本原则都是 越新越好,只需够用 。编译器常见的有GCC、clang和微软的C/C++编译器(msvc),前两者是开源世界(GNU/LLVM)产物,多见于各式各样的小型IDE,后者只会被附带于微软的Visual Studio(VS)中。以前常说的VC或VC6实际上也是Visual Studio 6.0的一个套件(那时候各套件是分开卖的软件包/光盘)。GCC由于是开源的,所以更新比较快 飞快!,对于新的语言标准支持也比较及时,而微软的编译器……你就只能等它发布下一个VS了。所以鉴于轻量时效的原则,推荐大家尽量选择GCC编译器的IDE。事实上微软现在也快起来了,对于c++的新标准msvc甚至比隔壁俩都积极。我们可以看看现在大家对3种编译器的评价: https://www.zhihu.com/question/445921363
     Like  Bookmark
  • 最近回家的时候发现家里的 IPv6 已经基本上 full-featured 了,于是想着在自己电脑上也尝试一点 IPv6 的特性。比如 —— PT Concepts 众所周知,PT 是一种非常依赖公网 IP 的业务,BT 等众多 P2P 协议设计的早期 IP 地址耗尽情况还没那么严重,那时的理想是网络上各计算机都可以相互连通来传输数据,每个计算机都能获得一对多的网络资源,从而放大共享效率。但这就要求每台计算机都能监听来自任意远程的主动连接,在现在普遍大内网的时代是不现实的。 不过好在 IPv6 的全面铺开逐渐解决了这一点,v6 地址至少杜绝了无法主动接受连接的问题,P2P 的原初理想得以重新获得发挥机会。所以本文虽然标题是 PT 但 一开始就是为了IPv6 实验 去的,并不是一个 PT 教程或推荐方案,请读者先明确这一点。 PoC - Network @ WSL 所用的环境是一台 Windows 台式机,但 Windows 本身并没有什么可捣鼓的。我在家用的电脑是一台 macbook, 下载上传全都能用 aria2 来完成。出于 code hobbyist 的执念,我产生了一个想法:能不能用 WSL 来复刻?
     Like  Bookmark