pwnable.kr之mistake
来源:互联网 发布:只有我知bilibili 编辑:程序博客网 时间:2024/04/29 07:49
mistake
程序流程很容易,就是从password中读取10个字节,然后自己输入10个字节,与十个1的抑或之后,比较手动输入的和password输入的,如果相等就输出flag
根据题目的提示,是操作符优先级的问题。
if(fd=open("/home/mistake/password",O_RDONLY,0400)< 0)
这句代码中,<的优先级大于=,所以先进行比较,后进行赋值,而open打开一个文件,任何情况下返回都不会小于0,因此比较之后就等于0,fd=0了,对read函数来说,fd=0就是从标准输入读入,因此实际上buf1就是用户自己输入的10个字节。所以就简单了。
先输入10个0
因为0000000000 ^ 1111111111 = 1111111111
所以在input password再输入1111111111
这样就满足了strncmp的判断
flag:Mommy, the operator priority always confuses me :(
0 0
- pwnable.kr之mistake
- pwnable.kr---mistake,shellshock,coin1
- pwnable 之mistake
- pwnable.kr 之fd
- pwnable.kr之bof
- pwnable.kr之flag
- pwnable.kr之passcode
- pwnable.kr之random
- pwnable.kr之shellshock
- pwnable.kr之input
- pwnable.kr之lotto
- pwnable.kr之cmd1
- pwnable.kr之blackjack
- pwnable.kr之uaf
- pwnable.kr之cmd2
- pwnable.kr之uaf
- pwnable.kr 之asm
- pwnable.kr 之echo1
- 字符串处理:下划线,多空格变单空格,统计单词出现个数
- exec函数
- android解压缩assets里面的压缩文件到sdcard里面
- 小何讲进程: 编写Linux守护进程方法详解
- ZOJ 3944People Counting(思维/技巧/模拟)
- pwnable.kr之mistake
- 70.[Leetcode]Climbing Stairs
- [贪心] BZOJ 2811 [Apio2012]Guard
- Android步进电机
- 事件驱动模型
- StringBuilder与StringBuffer的区别
- Go 性能优化技巧 5/10
- 显式游标和隐式游标的区别
- 安卓tabhost和子Activity通信方法