Digesting Documentation

pwn.college的Linux Luminarium中Digesting Documentation模块的简单wp

Learning From Documentation

按照题目上写的,把 –giveflag 当成/challenge/challenge的参数

1
/challenge/challenge --giveflag

即可

Learning Complex Usage

首先根据关卡描述,我们了解到了有时候我们的参数也需要一个参数

例如题上说的打印关卡描述

1
/challenge/challenge --printfile /challenge/DESCRIPTION.md

–printfile是/challenge/challenge的参数,/challenge/DESCRIPTION.md又是 –printfile的参数

会了之后,我们进入工作区,在根目录发现了flag文件

1
/challenge/challenge --printfile /flag

即可

Reading Manuals

根据题目描述,要看challenge的手册

1
man challenge

在DESCRIPTION模块中 我们能看到如下

–owvsta NUM
print the flag if NUM is 403

那么答案显而易见

1
/challenge/challenge --owvsta 403

Searching Manuals

根据题目描述,先看challenge的手册页

1
man challenge

会发现里面有很多东西 所以我们要使用/来搜索

1
/flag

即可看到

–urgflxq
This argument will give you the flag!

之后运行即可

1
/challenge/challenge --urgflxq

另一种思路

因为刚开始忘记怎么切换下一个搜索结果了,就用了grep命令来去掉了错误的参数

1
2
man challenge | grep -v "A neat argument, but not the right one."

同样也可以得到答案

Searching For Manuals

这道题是教我们man的高级用法,需要在man man中查看。

但是对于我们非英语母语的人来讲,纯英文的手册页确实是一大挑战。

这时我们就要善于利用其他工具了。具体见我随后的文章

那么假设我们已经读懂了man的高级用法,就知道要使用man -k

1
man -k challenge

这时就有

fzcpjlmvdc (1) - print the flag!

运行即可

1
/challenge/challenge --fzcpjl 847

Helpful Programs

这道题是教我们 –help/ -h的用法

按照题意

1
/challenge/challenge -h

-g GIVE_THE_FLAG, –give-the-flag GIVE_THE_FLAG get the flag, if given the correct value
-p, –print-value print the value that will cause the -g option to give you the flag

因此我们得知,接下来要这样做

1
/challenge/challenge -p

The secret value is: 825

1
/challenge/challenge -g 825

Correct usage! Your flag: pwn.college{YPueGCGKy8SJ25FlNkGQvnkxJ1y.ddjM4QDL5UDM5czW}

Help for Builtins

在这个题目中,challenge是内置的命令,也就是说按照题意我们要这样

1
help challenge

–secret VALUE prints the flag, if VALUE is correct

1
2
You must be sure to provide the right value to --secret. That value
is "gjLVZq9_".
1
challenge --secret gjLVZq9_

即可