摘要: 32位: system_addr->caller返回地址,随便填->参数 payload = flat([b'A' * 104, system_addr, 0xdeadbeef, binsh_addr]) 64位: 1.system函数规定$rsp+0x40需要16字节对齐。一种方法:在调用syst 阅读全文
posted @ 2022-01-24 20:24 KingBridge 阅读(659) 评论(0) 推荐(0) 编辑
摘要: ASLR会让libc地址随机。利用stdout关联函数可以把libc中某个函数地址打印出来。 如puts打印puts的got表内容(后者存放puts真实地址),从而泄露libc基址 ctfwiki的部分exp(32bit) puts_plt = ret2libc3.plt['puts'] libc_ 阅读全文
posted @ 2022-01-24 20:23 KingBridge 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 审题: 1,2都是简单的输入-输出。输出完之后会到此界面循环 1函数存在栈溢出漏洞 2函数存在格式化字符串漏洞 并且发现后门地址 经过调试,canary值不变。所以先进2得到canary,再回到1ROP 首先搞到格式化字符串的偏址 两种方式: 第一种:输入很多的%p,然后硬数(适合我这种无脑儿) 比 阅读全文
posted @ 2022-01-24 20:23 KingBridge 阅读(94) 评论(0) 推荐(0) 编辑