随笔分类 -  Pwn_WP

摘要:House Of Orange 来源 2016 ctf HITCON 环境 libc: libc.2.23 Unbuntu16 难度 8 / 10 保护 简单描述 保护全开,有添加功能和编辑功能,只能添加4次,每次添加都会malloc三次分别储存不同的信息, 可以编辑三次,没有free函数,是经典的 阅读全文
posted @ 2020-05-01 23:45 i0gan
摘要:greeting 150 保护 漏洞 字符串漏洞 源代码 利用 由于程序中只有一个字符串漏洞, 执行字符串漏洞后结束,这时就需要覆盖fini_array为start函数进行再次执行程序同时修改strlen的got表为system plt地址. 简单介绍一下: fini_array, 在 函数前会调用 阅读全文
posted @ 2020-04-01 15:19 i0gan
摘要:babyfengshui wirteup 这一道题是个非常经典的入门级堆题, 涉及的知识点不多,思考的确实比较多,而且比较巧合. 首先我来讲一下解题思路: 想方设法如何调用system函数,且传参为'/bin/sh' 想要实现以上功能,就的需要获取libc的基址,然后修改某个函数的got表 最后调用 阅读全文
posted @ 2020-01-19 19:15 i0gan
摘要:get_started_3dsctf_2016 Pwn 这个题确实有点坑,在本地能打,在远程就不能打了,于是我就换了另一种方法来做. 确这个题是没有动态链接库,且PIE是关的,所以程序的大部分地址已经定死了,帮了大忙了. 第一个本地能打通的思路(远程打不了) 修改eip跳转到get_flag函即可, 阅读全文
posted @ 2019-12-28 22:54 i0gan
摘要:这里补充一下%n是代表向参数赋值打印的字符个数 例如printf("AAAA%n",&a); 代表的是向a写入4 printf("AAAA%1n", &argu1) 代表的是将打印字符的个数值写入参数1中. printf("AAAA%2$n", &argu1, &argu2, &argu3..... 阅读全文
posted @ 2019-12-18 22:51 i0gan
摘要:Trash Pwn 下载文件 1 首先使用checksec查看有什么保护 可以发现,有canary保护(Stack),堆栈不可执行(NX),地址随机化没有开启(PIE) 2 使用IDA打开看看 main函数里没有什么漏洞,注意调试时把alarm函数nop掉(计时函数) 进入Who函数 读取的s是ma 阅读全文
posted @ 2019-12-14 20:07 i0gan