GDB工具使用
GDB新手手册,此处仅为应用
靶机配置了ssh,可以账号test、密码123通过ssh登录到靶机。
靶机中存在两个用户:test和flag,分析getflag_main.c,使用gdb工具获取用户flag的passwd
-
阅读发现源码被删减了一部分,题目要求通过这个练习使用GDB
-
因为源码被删减,所以gdb不能阅读源码,因此需要对源程序进行反汇编
初学者知道gdb一次可以反汇编一个函数模块,正好只有一个main函数,因此
disassemble main
即可,但反汇编前必须在main处打上断点b main
我们发现红框部分与源码的if判断一致,判断结果正确将跳转到145行(0x000055555555485b)因此我们在82行打上断点(b *0x000055555555481c
),然后run到该断点时直接jump *0x000055555555485b
,则中间的代码将全部跳过不执行,避免程序在if判断中被强制exit,之后即可得到正常输出即flag密码
将密码用于ssh登录flag用户即可