
hackme
Flying_Fatty
这个作者很懒,什么都没留下…
展开
-
hackme pwn homework
根据提示:Index out bound, Return Address根据源码:void run_program(){ int arr[10], i, v, act; …… while(1) { …… switch(act) { case 0: return; ...原创 2019-01-23 22:39:02 · 398 阅读 · 0 评论 -
hackme pwn toomuch1 - 二分法解题
分析函数流程:首先是密码正确性判断,然后是玩游戏~第一关:43210典型的二分法猜数字:0~100的区间,有8次机会!2^8=256>100,次数足够了第一次猜50,大了就说明数字在0~49中,则猜25;小了就说明数字在51~99中,则猜75;最后得到结果,即得到fake_flag(fake_flag是这个题的第一关)截图如下:这里运气比较好,...原创 2019-01-23 23:07:24 · 281 阅读 · 0 评论 -
hackme pwn toomuch1 - buffer overflow
一开始看到这个漏洞还是蛮明显的~这里s的长度只有0x18个字节,然后用的是gets和strcpy来输入和传递,意味着没有长度限制与安全检查,所以可以直接缓冲区溢出来覆盖函数返回地址返回地址在ebp + 4,这里是ebp - 18中间的填充值也就好算了~和homework一样,这里有现成的函数重用代码如下:#!/usr/bin/env python# coding=utf...原创 2019-01-23 23:12:49 · 346 阅读 · 0 评论 -
hackme pwn echo [format string]
题目名称就已经是很明显的提示了!echo ~ 提示:格式化字符串从IDA中看main:即可看到printf(&s)!漏洞原理部分:http://www.cnblogs.com/Ox9A82/p/5429099.html漏洞刷题提升:https://www.anquanke.com/post/id/85785https://www.anquanke.com/pos...原创 2019-01-31 22:28:07 · 505 阅读 · 0 评论 -
hackme pwn rop [ROPgadget]
IDA找漏洞点很快 所以,栈溢出的偏移值为:0xC + 0x4 = 0x10因为开了NX,所以需要ROP~剩下的就是工具:ROPgadget --binary rop --ropchain原创 2019-02-01 13:17:49 · 578 阅读 · 0 评论 -
hackme pwn toomuch2 [buffer overflow + ROPx86]
checksec一下,发现啥保护也没有,不需要再找libc的版本了这里的漏洞点在toomuch1中说过了在toooomuch函数中,覆盖0x18+4个值,即可达到溢出效果下一步目标是:将"/bin/sh"写入bss段中,然后执行system函数即可类似x64平台,在x86中也有相似的通用gadgetsexp1:利用gets+system:#!/usr/bi...原创 2019-01-27 17:59:31 · 399 阅读 · 0 评论 -
hackme pwn rop2 [syscall + rop]
先checksec一下:有个大概思路:rop过NXmain中和overflow函数里都有syscall函数,如下:观察到这里有缓冲区溢出!"A" * 0xC!先来学习syscall函数:syscall(int arg1, ……),为可变参数的函数,第一个参数为系统调用号,用以下命令查询:cat -n /usr/include/x86_64-linux-gnu/...原创 2019-02-05 23:12:45 · 564 阅读 · 0 评论 -
hackme pwn smash-the-stack [stack smash]
根据提示:stderr!和32C3的readme一样,原理看上篇,这里贴两个exp#! /usr/bin/env python# coding=utf-8from pwn import *#io = process('./smash-the-stack')io = remote('hackme.inndy.tw', 7717)argv_addr = 0xffffcfa4buf...原创 2019-02-07 23:42:56 · 355 阅读 · 0 评论 -
hackme pwn onepunch
做的题太少了,不知道应该把这种题目如何归类int __cdecl main(int argc, const char **argv, const char **envp){ …… v5 = __isoc99_scanf("%llx %d", &v6, &v4); if ( v5 != 2 ) return 0; *v6 = v4; …… ...原创 2019-03-14 23:59:11 · 524 阅读 · 0 评论