wirte a proc_macro_attribute to automatically generate docs for axum
Recently, I was working on a project that uses axum, a web framework for Rust. I wanted to generate API documentation for the project, but…
漏洞研究、CTF、Rust,以及偶尔出现的生活碎片。
Recently, I was working on a project that uses axum, a web framework for Rust. I wanted to generate API documentation for the project, but…
自从defcon出过新版musl libc的pwn之后,感觉之后可能会有一波musl lib pwn,果然强网杯的时候就看到了。可以预见,之后可能就会有musl libc master pwn,这两天趁着空闲的时候大概看了一下musl libc的源码,简单的做了一下笔记: !…
reference: The Poc cve-2019-6788 is a heap overflow vulnerability in qemu, it occurs in tcp emu(slirp/tcp subr.c) : In EMU IDENT,It copies…
Recently I'm confused by my research. I need to publish a paper for my degree. It seems easy for a ctfer? But I think it's hard to write a…
reference Recently, there are many qemu escape challenges in ctf. I have never leaned it before, so i decided to study it to adjust the mo…
There are some stack overflow vulnerability in cisco IOS system like CVE-2017-6736 and CVE-2018-0171,but there are little exp or analysi…
原文链接:任意データ書き込みHeap-Sprayに使える構造体 前段时间在asis ctf里面看到一个kernel题,是一个slab的off by null。想起了之前看到的CVE-2016-6187的利用,但是调了半天还是没调出来,想了想自己确实也很久没有跟过kernel的…
本以为研究生的生活可以摸鱼,没想到研讨课一下子分了个讲v8的课题,没办法,只有硬着头皮上了。 参考资料: V8 Object 内存结构与属性访问 这篇文章正好也记录一下学习的过程,写文章的时候也可以顺便看看有哪些地方没搞清楚。这里以startctf 2018 的 oob一题,…
参考文章: 之前在bctf中遇到一道three,是一个没有leak的堆题,现在没有leak一股脑只能想到house of roman了,但是4096分之一的概率真的让人很痛苦。但是翻到出题人博客之后发现居然可以通过改写stdout来leak。 仔细复现之后,发现其中还设计到了…
考研的知识真无聊 算是无聊时候想水一篇吧。 我记得很清楚,在大一暑假的时候,我看了小甲鱼的od教程,从此踏上了一条不归路( 开学之后就参加了凝聚了招新,在招新宣讲会结束之后就放出了一个逆向题:复现招新演示时破解的福昕pdf转word的那个工具。当时也是啥都不懂,就开始瞎jb断…
miro 这道题的难点就是解密tls流量,而要解密tls的话必须拿到证书的私钥,当时看了一下证书用的是RSA1024,感觉没有办法,下来看wp发现居然有方法可以分解这个N了。 方法一 有一个工具叫yafu,可以直接分解。 方法二 emmmmm,似乎就是一个优化过的枚举。 分解…
最近看了一下rust,发现安全性真的是很高,瞎写了一堆漏洞也编译不过,强行编译过了也利用不了,感觉快失业了( 所以在看rust的开发,有点想用rust开发一个linux下的调试器,毕竟有gui体验还是会好一点( 看了一圈rust的gui库,用的最多的似乎就是gtk-rs。 但…
所以说sgx的坑真的是多 首先我们可以在intel sgx的主页上看到一个: 有这么好的一个库可以用,赶快用起来啊 结果一下下来 嗯?我要的lib呢,intel你耍我吗??? 无奈,只好找到了这个东西的github。 按照他的要求,装perl,7z,nasm,并且全部要加在环…
环境 : vs2015 dellxps13 win10 dell xps13的sgx需要在bios里面手动打开,intel提供了一个SgxPlatformCapabilityTool可以检测当前是否开启了sgx 开启状态应该是这个样子的: 首先安装intel提供的Intel …
hitcon每年都会出一些神题来让我认识自己是多么的弱小,这道题就是其中之一( 参考文章: 打开ida,习惯性地找到main函数,然后按了一下f5: 哇,这是什么鬼 于是决定看看汇编: emmmm,似乎没有啥问题。 然后就没啥思路了(orz 参考文章中提到,能改变程序流程的话…
参考的一些文章: 这次就用国赛的这道babydriver来作为kernel pwn的第一道题吧。 首先是kernel pwn要做的事情,就是在内核空间劫持控制流完成commit creds(prepare kernel cred(0))这一个调用,然后再平稳的返回用户空间开一…
这里就拿2017年国赛的babydriver一题,记录一下简单的环境搭建。 题目是给出了环境的,可以直接拿qemu启动。 当然,为了调试,我们人为加上两条 这时候运行脚本,qemu就停在了加载系统之前,拿gdb链接就可以了。 不过正常来说这时候还是不行的,在运行过程中有可能会…
最近准备入门一下kernel pwn了,感觉还是要看一下驱动开发相关的一些东西。 还是看一下hello world吧 这个东西就是一个最简单的驱动,其实一眼就能看出来在干啥了。module init是在加载驱动的时候会干的事,module exit是在移除驱动的时候会做的事。…
之前就在how2heap上看过这种攻击方式,奈何智商和英语水平都不够,一直不能很好的理解,最近做了一道题就是利用的这种攻击方式。 首先这个攻击的先决条件是能够覆盖一个chunk的size的最后一个字节为0。 我们先申请3个chunk 当然这个size是有一定要求,看了后面的步…
拿到这道题的时候是一脸懵逼的,完全没有思路,于是在参考大佬的wp之后自己照着调了一个下午才明白这道题是怎么回事。 首先看看这道题的提示: Heap so fun! Baby, don’t do it first. nc 52.68.77.85 8731 note : the …
在0ctf 2017的时候,当时才开始学pwn,所以做不出来题似乎也给自己找了一点心安的理由。可是居然一直没有去回顾比赛中的题,过了这么久才发现里面的题质量真的是高。 其实之前比较熟悉的都是fast bin的一些东西,所以这次国赛的题也是吃了一回鳖。我就拿这次国赛的题,来记录…
其实这道题真的不难,写这篇文章的目的完全是因为很久没有更新过博客了,感觉要写点什么才好。 首先我们可以通过爆破登陆信息来泄露那16个随机的数字。 登陆之后可以发现有一次strcpy的机会,通过调试可以发现之前登陆的后面一些位数正好可以copy过去,覆盖随机生成的16个字节。 …
其实这道题主要的难点是在编写可打印的shellcode,而且长度限制为80字节,网上能找到的通用的大概都超过了这个长度。 首先整理一下在可打印范围内能用的汇编指令: 1.数据传送: push/pop eax... pusha/popa 2.算术运算: inc/dec eax.…
上次整理FILE结构体的时候还说以后有空再慢慢想利用吧,结果这么快就遇到一道利用FLIE结构体的题,收了自己的flag。 FILE结构体的一些信息可以看我之前的文不对题的文章浅析stdout。这道题的难点就在于伪造出一个合适的FILE结构体。 在调用fclose()的时候会调…
搞一个机器学习的东西需要大量的带标签的图片,想了一下,还是直接用百度或者搜狗这类直接搜索得到的结果比较快。 首先看一下百度搜图,打开之后发现这是一个异步加载的页面,只有滑倒最低端的时候才会继续加载。这里先抓包看一下: 可以发现这就是向 这个objURL在html中是图片的原始…
dubblesort --- 能从这道题学到的小技巧还是很多的。 首先是一种leak栈信息的办法,read没有在读入数据之后做处理,所以可以让字符串不以‘\\x00’结尾,之后用\"%s\"打印的时候就可以打印出栈上的信息。 经过动态调试可以发现,栈上有一个libc的地址,打印出来…
首先说一下sfml吧 --- 这个打飞机游戏是大一下学期作为c++的课程作业而写的,现在看来非常之烂,而且传代码的时候也是无脑地把整个工程拖了进去(orz) 下面说一下写这个游戏时的一些感想。 sfml还是很方便的,读取资源也支持很多类型。消息机制也是比较好的,随时随地都能捕…
写这篇文章完全是0ctf虐了之后决定努力一波而整理的,无意间看到了一个日本人的EasiestPrintf的wp而研究的 看了之后又提高了一波姿势水品,给了自己不少心里安慰( 首先来看一下printf的源码 可以看到printf的核心其实是调用了这个vfprintf,而这个函数…
前段时间闲逛的时候发现了这个网站,看了一下,还有点小难,而且网上有关的wp也比较少,正好可以来练练自己的能力 start Just a start. 这道题就让我感觉到了有点小难,拖进ida之后发现这是个拿汇编写的程序 很明显是个栈溢出,第二次调用的sys read读取的内容…
说真的,这个问题搞得我怀疑人生,至我写这篇博文时,我还是没有相通 首先这个问题来自于一道acm,这道题是一道动态规划,于是我用了递归,下面是递归函数的代码 最后几行我为了方便调试,加上了几个变量。最后提交代码的时候也一起提交了,也过了。 不过后来我想了一下还是把变量去掉再提交…
这道题真tm迷 我们首先分析一下elf文件 这里是获取我们输入的字符串进行分析,如果是' '指针就增加1,'.' 输出指针指向的内容,',' 向指针写入 之后在main中发现这里对指针赋值为tape的地址 拿到shell的思路为改写got表中函数的地址 分为以下三步 1. 修…
pwn step0 题目描述: nc 121.42.25.113 10000 binary: step0是一个很简单的stack overflow原理展示,just read the disassembly code : ) Hint: 所谓的pwn嘛,你得分析包含漏洞的服务…
写这个主要是为了让自己写的程序支持插件 主题思路就是在dll中去继承一个基类,然后实现自己想要的一些功能,这个过程中就会涉及到读取dll中的类的方法。 首先我们需要在主程序中声明一个基类: pragma once class Graph { public: Graph() {…
这篇文章发在这里也是为了不让很多人看到,感觉自己也很久没有写过这样的东西了 这部片子从各种意义上来说表现都是非常的好的,我相信大多数看过的人也会做出这样的评价。然而我看完之后感觉自己异常的空虚,很久,很久,这种感觉一直没有消散。 算了一下,感觉自己的入宅时间也不算很短了。人总…
这次用了Apache来作为服务器 别有人ddos攻击我了 不要有!!!! 不要有!!!!
其实在实现这个奇怪的行为之前,你需要了解一以下几样(奇怪的)知识 c语言main函数的本质 汇编语言和机器码 1.main的本质初探 在平时写c语言,大多数时候都是int main(),这时候main是什么?我们不妨做个试验: 找一个语法检查比较松的ide(cfree)写入代…