
PWN
文章平均质量分 81
C4ndy
又菜又爱玩,还不服输,真是服了!!!!
展开
-
funcanary[CISCN2023初赛]-爆破canary+pie
根据PIE的保护的特性我们可以知道(请先进行PIE保护的相关学习),地址的后3位是不变的,所以只需要的原先返回地址的基础之上将返回地址的后三位覆盖位system(“/bin/cat flag”)函数调用的地址即可,即为修改为“0x231”(该地址只需要在IDA看偏移地址即可),根据“字符”查找到特殊的字符串“/bin/cat flag”,所以可能存在直接的system(“/bin/cat flag”)函数,通过追踪定位,发现确实存在相应函数。先检查文件的保护以及文件的类型,保护全开,64位程序。原创 2023-05-29 22:23:04 · 1186 阅读 · 0 评论 -
签个到——DAS_Nov
栈、整数溢出、堆溢出综合运用根据checksec 分析得到程序的结构为amd64位的架构开启保护:Canary、Full Relro、PIE、RWX(说实话我不认识这个保护)NX保护为开启,似乎可以考虑shellcodeida分析中许多函数都已经被我重命名,大家将就着点看就好了通过简单分析程序的main函数之后其实很明显就能看出这是一个Menu菜单题了逆向分析一定得看一下字符串在这里其实我们可以看到有的调用,并且有字串的使用;我们跟踪字符串就可以发现在sub_15BA()这个函数执行了system(“/bi原创 2022-11-30 09:53:43 · 91 阅读 · 0 评论 -
英招杯 pwn2(ret2shellcode)
由于程序运行时,即输出了输入值s的存放首地址,我们输入的首地址与shellcode之间的距离是0x3c-0x28=0x14,故只需返回s的首地址加上0x14即可;我们分析main函数的时候可以看到栈中的s距离rbp还有一段距离,且程序的NX保护未开启,我们可以考虑写入shellcode在栈中执行。根据图中与rbp的偏移,我们相对比较容易的出var_30对应的变量为v5,var_8对应的变量为v10。在网上我们可以查到相对较短的syscall系统调用的shellcode为23字节,满足我们所需的要求。原创 2022-11-16 21:02:45 · 416 阅读 · 0 评论 -
英招杯pwn1(字符串格式化漏洞)
第二个参数writes表示需要利用%n写入的数据,采用字典形式,我们要将printf的GOT数改为system函数地址,就写成{printfGOT:systemAddress};可能需要修改8个字节的数据,太麻烦了!即可将puts函数的真实地址泄露出来,即可获得对应的libc版本和基址,方便我们后面的操作;生成随机数代码,通过ctypes包下的cdll来加载libc,这样才能执行libc下的函数。根据地址泄露我们已经能确定对应的libc版本,加载对应的libc,即可获得libc的基址。原创 2022-11-16 21:00:11 · 492 阅读 · 0 评论 -
ciscn_2019_c_1(ret2libc)
综上,我们可以构造第一段payload为(payload首部加入‘\0’是为了绕过encrypt函数,防止输入的字符串加密而变化,strlen()函数遇‘\0’截止)故我们可以计算加载程序的基址,通过基址和各个函数以及字符串的偏移量可以计算各个函数以及字符串在程序中的地址。通过已经调用过的函数去泄露它在程序中的地址,然后利用地址末尾的3个字节,去找到该程序所用的libc版本;随后我们可以通过得到的libc版本来查询对应字符串或函数的偏移地址,也包括puts函数的偏移地址;原创 2022-10-08 09:07:34 · 877 阅读 · 0 评论 -
[第五空间2019 决赛]PWN5
由于输入四个地址,对应输出16个字节,也就是将每个地址(即0x804C044~0x804C047)的内容修改为。由于我们将这四个地址(即0x804C044~0x804C047)存储的内容均修改为0x10,所以变量。偏移量为10,所以我们只需要对第10个到第13个参数对应的内容的地址进行修改即可;所以我们可以通过格式化字符串漏洞的任意地址修改更改地址。被存储到了第10个栈参数的位置,所以对应的偏移为10。然后将这4个地址对应的存储位置,通过。将对应地址内容修改为输出的字符个数;读出的4个字节的内容即为。原创 2022-10-07 10:06:27 · 306 阅读 · 0 评论 -
Ubuntu18.04更换ELF程序的glibc(PWN)
目的是为了解决程序运行的问题,由于低版本的libc无法运行高版本libc的程序。解决PWN方向堆问题的调试问题。简单的做个笔记原创 2022-10-01 11:30:32 · 747 阅读 · 0 评论 -
HITCON Trainging lab13——CTFwiki
通过off by one溢出修改next chunk的size域来实现overlap,修改指针实现执行system函数,获得系统权限原创 2022-08-22 12:51:01 · 1259 阅读 · 1 评论