盒子
盒子
文章目录
  1. I、进入系统
  2. II、熟悉环境
    1. ① 首先阅读README文件
    2. ② 查看levels
  3. III、找漏洞
    1. ① 执行level01
    2. ② gdb调试
    3. ③ 分析汇编指令
    4. ④ 测试
  4. IV、查看下一关密码

SmashTheStack IO level1

现在正式开始练习,进入第一关

I、进入系统

1、在终端输入:

1
ssh -l level1 io.smashthestack.org -p2224

2、输入密码
第一关的密码是level1 (只有第一关的密码才知道,以后每一关的密码需要自己取得)
看到以下信息,说明已经进来了,每一关的权限有限,这个可以自己测试一下就知道了。

II、熟悉环境

① 首先阅读README文件

我是不会给你翻译的,自己慢慢阅读

② 查看levels

每一关都有一个可执行文件或对应的C程序,可通过gdb调试可执行文件,所有这些文件存放在 /levels 目录中

III、找漏洞

① 执行level01


随便输入三个数字,查看效果

没有任何反应

② gdb调试

如果不会gdb的,可以查看我的博客:GDB常用命令,当然网上也有很多教程

1
gdb level01

我试过了,不能使用list命令查看源代码,那就老老实实看汇编代码吧

1
disassembel main

③ 分析汇编指令

第一关,应该不会太难的,果真如此,就连我这个汇编菜鸟都能看懂
输入一个数,存入eax寄存器;与0x10f进行比较,如果相等,跳转到YouWin,否则退出
那么结果显而易见,应该输入0x10f,不过要转化为十进制:271

④ 测试

重新运行level01

1
./level01

输入 271

OK,成功破解第一关,是不是很easy

IV、查看下一关密码

按照上面的提示,密码放在/home/level2/.pass 中
那还等什么,赶紧查看密码吧!!!!

1
cat /home/level2/.pass

密码get:3ywr07ZFw5IsdKzU

由此密码可以顺利进入下一关。。。。。。。

支持一下
走过的,路过的,请支持一下我 n(*≧▽≦*)n