CTF-Web【命令执行和代码执行】漏洞做题姿势积累

前言

本篇文章专门用于记录做命令执行和代码执行类题目的做题姿势,会不断更新。

php中的会造成代码执行函数

1
2
3
4
eval
assert
` (反引号)
...

php中的会造成命令执行函数

1
2
3
4
5
6
7
8
exec

shell_exec

system

passthru
...

命令执行函数搜索flag文件命令

1
find / -name flag*

php搜索文件函数

1
2
print_r(glob("flag*"))
// 因为返回是一个数组 只能用print_r 或者 var_dump输出

过滤

命令执行 空格被过滤

1
2
3
4
5
6
7
 ${IFS}
${IFS}$9
$IFS$9重定向符<>
<>
<
编码
%09

ctf中常用php函数

1
get_defined_vars()     // 返回由所有已定义变量所组成的数组

Linux查看文件内容的命令

1
2
3
4
5
6
cat
tac
more
less
head
tail

绕过 preg_match的方式

  • 换行绕过

  • PCRE回溯绕过

  • 数组绕过

  • 编码绕过(8进制、16进制)

  • 未过滤函数绕过

  • PHP开启short_open_tag=on,即可使用短标签