【pwnable.kr】fd
程序员文章站
2022-05-15 15:00:08
...
最近准备整理一下之前的pwn writeup。有考虑过整理发表在新博客上,但是最近发现csdn的编辑器用的越来越顺手了,于是先写在这上面吧。
题目地址 http://pwnable.kr/play.php
下载程序
scp -P 2222 -p aaa@qq.com:/home/fd/* ./
题目逻辑
程序调用read函数从fd = atoi(argv[1]) - 4660读,之后和”LETMEWIN\n”按照字节比10次。
如果想进入system流程,let v6 == 1 and v5 == 0.因此,从fd读取的字符串和”LETMEWIN\n”相等即可。
PS: 对比源码,strcmp参数之一是静态字符串,所以可能做了编译优化,变成了按字节比较。
if ( argc > 1 )
{
v4 = atoi(argv[1]);
read(v4 - 4660, &buf, 0x20u);
v7 = 10;
v8 = "LETMEWIN\n";
v9 = &buf;
do
{
if ( !v7 )
break;
v5 = (const unsigned __int8)*v8 < *v9;
v6 = *v8++ == *v9++;
--v7;
}
while ( v6 );
if ( (!v5 && !v6) == v5 ) // v6 == 1, v5 == 0
{
puts("good job :)");
system("/bin/cat flag");
exit(0);
}
puts("learn about Linux file IO");
result = 0;
}
else
{
puts("pass argv[1] a number");
result = 0;
}
exploit
aaa@qq.com:~$ echo "LETMEWIN" | ./fd 4660
good job :)
mommy! I think I know what a file descriptor is!!
上一篇: 【数据库密码加密】通过druid进行加密
下一篇: python实现DES加密和解密
推荐阅读
-
IE浏览器打开异常0xco6d007f位置0x7c812fd3的解决办法
-
工业级静音防尘!FD发布DC/DC mini钢化玻璃侧透版机箱
-
620元!FD发布Meshify C中塔机箱:暗色侧透、无阻风道
-
Linux中文件描述符fd与文件指针FILE*互相转换实例解析
-
Linux中一种友好的find替代工具(fd命令)
-
C语言程序调用栈:backtrace+backtrace_symbols+backtrace_symbols_fd
-
open/read/write/close等文件系统调用接口以及fd与FILE的比较
-
【Zabbix】Zabbix自定义Key监控服务器打开文件数(fd)
-
飞傲FD1动圈耳塞怎么样?飞傲FD1动圈耳塞详细评测
-
Xcode编译出现 undefined symbols “___darwin_check_fd_set_overflow“