pwnable.kr第二遍---mistake

>>>>>mistake
解题思路:
题目给出了hint,主要是优先级priority
其中关键点在于两个if语句
if(fd=open("/home/mistake/password",O_RDONLY,0400)<0){"error"}
if(!(len=read(fd,pw_buf,PW_LEN)>0)){"error"}
这里主要用到的是'='与'<' '>'之间优先级的关系
赋值号'='的优先级最低
因此。
第一句为:open()函数成功后返回值大于零,判断后得到false,赋值给fd后得到fd=0
第二句为:read(fd=0,...,...)表示从标准输入读取长度为10的字符串
接下来与用户输入的password进行异或比较
匹配成功后即可拿到flag
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值