pwnable.tw第一题start

这应该是我做的第一道pwn的题了(虽然也是看了很多别人的WriteUp),想了两天,才终于弄清楚了,在这里记录一下。

拿到手以后发现是一个ELF文件,就放进kali虚拟机里面运行一下先:
这里写图片描述

程序启动以后打印一段话,然后让你输入,就完事了。
再放入IDA中,观察:
这里写图片描述

检测栈有点问题,不能够F5,强行看汇编。。。
5个push是打印出来的那句话,

Let’s start the CTF:

下面一句 mov ecx,esp 就是把这句话的地址传给ecx,
mov dl,14h #就是传了0x14这个数给dl,IDA后面注释了是len,也就是上面那句话的长度
mov bl,1 #传了1这个值给bl,注释是fd,查了资料以后才知道就是文件句柄,0(标准输入)、 1(标准输出)和2(标准错误),所以1 的意思是标准输出,也就是输出到终端上。
mov al,4 #传了4给al,就是代表执行什么样的操作,4是写操作。
int 80h #就是执行,感觉相当于call了。

下面就是写函数了,和上面的类似:
dl=3Ch,所以长度等于20
bl=0, #xor ebx,ebx,就是清零ebx的值,代表标准输入。
al=3, 读操作。

整个程序就这么短,下面在gdb-peda中调试一下,(peda在我以前的一篇博客中有讲怎么安装)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值