许大仙's Litt1ε Bl0g

一只想变成大佬的小白

Git学习(2)

参考廖雪峰老师教程的git学习笔记

Git学习篇(2) 之前的git学习是在本地进行操作过程,但是如果要进行多人写作,交互版本库中的内容,势必要使用到github上的远程仓库。 因此,在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作 远程仓库 一、创建远程仓库+本地库与远程库同步 ...

Git学习(1)

参考廖雪峰老师教程的git学习笔记

Git学习篇 Git是目前世界上最先进的分布式版本控制系统 CVS/SVN:集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。 GIT:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样就不需要联网了,因为版本库就在自己的电脑上。...

「pwnable.kr」 持续更新中……

天哪好久没更新了!!大四大四

一、random WriteUp 1.题目: 1 pt可以看出,这题不难呀! 2.反汇编源码: int __cdecl main(int argc, const char **argv, const char **envp) { int v4; // [rsp+8h] [rbp-8h] int v5; // [rsp+Ch] [rbp-4h] v5 = rand()...

「JarvisOJ」Backdoor题解

做了一个暑假的pwn还是菜鸡一枚,慢慢前进吧! Jarvis OJ Backdoor题还是看了writeup,这里写一写理解过程吧。 一、题目 这是一个有后门的程序,有个参数可以触发该程序执行后门操作,请找到这个参数,并提交其SHA256摘要。(小写) FLAG:PCTF{参数的sha256} 给了一个文件vulnerable.rar 给出了提交flag的格式,关键就是要找到触发程...

「format str漏洞」格式化字符串漏洞利用之覆盖内存

此前的笔记中已描述了如何利用格式化字符串来泄露栈内存以及任意地址内存,那么还有没有可能修改栈上变量的值呢,甚至修改任意地址变量的内存呢?答案是可行的,只要变量对应的地址可写,我们就可以利用格式化字符串来修改其对应的数值。 回想一下在printf中所有的格式化字符串类型,像%s,%d这类的都是输出,还有一个特殊的类型就是%n %n,不输出字符,但是可将已经成功输出的字符数量写到对应的...

「format str漏洞」格式化字符串漏洞利用之泄露内存

一、格式化字符串漏洞的两个利用手段 使程序崩溃,因为%s对应的参数地址不合法的概率比较大。 查看进程内容,根据%d,%f输出了栈上的内容。 二、程序崩溃 通常来说,利用格式化字符串漏洞使得程序崩溃是最为简单的利用方式,因为我们只需要输入若干个%s即可 %s%s%s%s%s%s%s%s%s%s%s%s%s%s 这是因为栈上不可能每个值都对应了合法的地址,所以总是会...

「format str漏洞」格式化字符串函数解析原理/过程

摘录自wiki-CTF{只为催促自己的记忆,复写一遍} 格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数。 一般来说,格式化字符串在利用的时候主要分为三个部分 格式化字符串函数 格式化字符串 后续参数,可选 一、格式化字符串参数 C语言中格式字符串的一般形式为: %[指定参数][标志][输出最小宽度][.精度][类型长度...

「JarvisOJ」系统调用——int $0x80/syscall[回顾JOJ level4——无.so]

宏观上说,int $0x80是intel汇编层面的系统调用,而syscall也是系统调用,只不过是linux系统中c语言环境下的系统调用实体。 只是层面不同,指的是一个东西。 Linux 系统调用(SCI,system call interface)的实现机制实际上是一个多路汇聚以及分解的过程,该汇聚点就是 0x80 中断这个入口点(X86 系统结构)。也就是说,所有系统调用都从用户空间...

「JarvisOJ」XMANlevel5题解

一、问题要求 mmap、mprotect函数并不熟悉,以下介绍在POSIX环境[补充1]使用文件映射IO操作的方法。 文件映射IO又被称为存储映射IO,对于普通文件而言,很多时候它是高效的,它实际减少了数据的复制;同时它也可以用于特殊的地方,用于进程之间的通信,共享内存的一种方式。 把一个文件想象成一块连续的数据,从纯粹的数据角度来看,任何普通文件都可以这么理解。文件映射实际上是把...

来自__ libc_ csu_ init()的通用gadgets

day 9 for CTF x64的机器下,调用函数常常需要gadget来设置参数,如果ROPgadget工具并没有找到类似于pop rdi, ret,pop rsi, ret这样的gadgets。那应该怎么办呢? 其实在x64下有一些万能的gadgets可以利用。 一、来自__ libc_ csu_ init()的通用gadgets 一般来说,只要程序调用了libc.so[大多程序...