windows和linux的命令混淆方式

windows和linux的命令混淆方式

我们在windows命令行中执行命令的时候,是不区分大小写

C:>WHOAMI
yvadministrator

在命令行中可以有无数个"

C:>wh""""oami
yvadministrator

C:>wh""""""""""""""""""""""""""""""oami
yvadministrator

不能有两个连续的^

C:>whoa^mi
yvadministrator

C:>whoam^^i
'whoam^i' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:>who^a^m^i
yvadministrator

在命令中如果 "^之前,此时"数量必须为偶数

C:>who""a^mi
yvadministrator

C:>who"a^mi
'who"a^mi' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

在命令中"^之后,且带有参数,则也需要带有偶数

C:>n^et" user
'net" user' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:>n^et"" user

\YV 的用户帐户

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
mysql                    WDAGUtilityAccount       www
命令成功完成。

也可以使用()对命令进行包裹

C:>(whoami)
yvadministrator

C:>(n^et"" user)

\YV 的用户帐户

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
mysql                    WDAGUtilityAccount       www
命令成功完成。

()的数量不设上限

C:>(((whoami)))
yvadministrator

使用变量

简单拼接

%%局部分开每个变量

C:>set cmd1=who

C:>set cmd2=am

C:>set cmd3=i

C:>%cmd1%%cmd2%%cmd3%
yvadministrator

变量拼接方式二

C:>set cmd1=who

C:>set cmd3=i

C:>%cmd1%am%cmd3%
yvadministrator

变量拼接方式三

C:>set cmd1=wh"""o

C:>set cmd3=i"""

C:>%cmd1%am%cmd3%
yvadministrator

变量拼接方式四 ^

C:>set cmd1=wh""""o    # 这里需要偶数,因为在变量拼接结果中有 ^ 

C:>set cmd3=i"""    # 后面正常多少个 " 都行  

C:>%cmd1%a^m%cmd3%
yvadministrator

含有参数的命令,net user

C:>set cmd1=s""er

C:>set cmd2=t u

C:>set cmd3=n^e

C:>%cmd3%%cmd2%%cmd1%

\YV 的用户帐户

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
mysql                    WDAGUtilityAccount       www
命令成功完成。

一次性执行多条命令

C:>cmd /C "set cmd1=s""ser && set cmd2=t u && set cmd3=n^e && %cmd3%%cmd2%%cmd1%"

\YV 的用户帐户

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
mysql                    WDAGUtilityAccount       www
命令成功完成。

Windows环境变量切分

C:>set cmd=whoami   

C:>%cmd%    
yvadministrator

这个0,1表示的数组切片,代表前后切片的索引

C:>set cmd=whoami

C:>echo %cmd:~0,1%
w

C:>echo %cmd:~0,4%
whoa

也可以为负数,负数表示从右边开始数第几个

C:>set cmd=whoami

C:>echo %cmd:~-4,4%
oami

C:>echo %cmd:~-6,4%
whoa

当然也能直接向外部写一个php一句话木马

image-20240812113353901

检查是否存在

image-20240812113248382

for循环执行命令

C:>cmd /V:ON /C "set kpx=awlh2im,xiaoyu&& for %G in (1,3,-3,0,6,5) do set lq=!lq!!kpx:~%G,1!&& if %G==5 !lq:~4!"

C:>set lq=!lq!!kpx:~1,1!  && if 1 == 5 !lq:~4!

C:>set lq=!lq!!kpx:~3,1!  && if 3 == 5 !lq:~4!

C:>set lq=!lq!!kpx:~-3,1!  && if -3 == 5 !lq:~4!

C:>set lq=!lq!!kpx:~0,1!  && if 0 == 5 !lq:~4!

C:>set lq=!lq!!kpx:~6,1!  && if 6 == 5 !lq:~4!

C:>set lq=!lq!!kpx:~5,1!  && if 5 == 5 !lq:~4!
yvadministrator

Linux

linux中是区分大小写的

┌──(root㉿251ebe86465a)-[/]
└─# LS
LS: command not found

┌──(root㉿251ebe86465a)-[/]
└─# Ls
Ls: command not found

运算符;表示连续指令,即使前面那条命令报错,后面也会接着执行

┌──(root㉿251ebe86465a)-[/]
└─# LS;whoami
LS: command not found
root

&只执行正确的那一段代码

┌──(root㉿251ebe86465a)-[/]
└─# ls&wHoami
[1] 59
archive-key.asc  boot  etc   lib    lib64  mnt  proc  run   srv  tmp  var
bin              dev   home  lib32  media  opt  root  sbin  sys  usr
Command 'Whoami' not found, did you mean:
  command 'whoami' from deb coreutils
Try: apt install <deb name>
[1]+  Done                    ls --color=auto

&&连接两个指令的时候,要保证命令两个命令都能正常执行,否则一个错,就执行不了了

┌──(root㉿251ebe86465a)-[/]
└─# ls&&whoami
archive-key.asc  boot  etc   lib    lib64  mnt  proc  run   srv  tmp  var
bin              dev   home  lib32  media  opt  root  sbin  sys  usr
root

┌──(root㉿251ebe86465a)-[/]
└─# LS&&whoami
LS: command not found

|管道符:用于将一个命令的输出作为另一个命令的输入。它允许两个或多个命令之间传递数据。

┌──(root㉿251ebe86465a)-[/]
└─# ls | grep 'boo*'
boot

||逻辑运算符:如果||左边的命令执行失败(返回非零退出状态),那么||右边的命令将会被执行。执行成功一个命令后,后面的苏哦有命令都不会执行。

┌──(root㉿251ebe86465a)-[/]
└─# ip addr || wHoami || ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

转义字符

┌──(root㉿251ebe86465a)-[/]
└─# whoami
root

''()$,“

┌──(root㉿251ebe86465a)-[/]
└─# who''ami
root

┌──(root㉿251ebe86465a)-[/]
└─# (whoami)
root

┌──(root㉿251ebe86465a)-[/]
└─# (who''ami)
root

┌──(root㉿251ebe86465a)-[/]
└─# `(echo whoami)`
root

┌──(root㉿251ebe86465a)-[/]
└─# $(echo whoami)
root

命令引用

┌──(root㉿kali)-[/data]
└─# t=l;j=s;$t$j
谷歌插件  GitHack  miku

linux特有变量

$1$*$@$n这个n表示除0以外的任意数字

┌──(root㉿kali)-[/data]
└─# who$2ami
root

┌──(root㉿kali)-[/data]
└─# who$4ami
root

┌──(root㉿kali)-[/data]
└─# who$*ami
root

┌──(root㉿kali)-[/data]
└─# who$@ami
root

┌──(root㉿kali)-[/data]
└─# who$0ami
who-zshami:未找到命令

linux通配符

我们以执行whoami这个命令来进行测试

┌──(root㉿kali)-[/etc/docker]
└─# whereis whoami
whoami: /usr/bin/whoami /usr/share/man/man1/whoami.1.gz

┌──(root㉿kali)-[/etc/docker]
└─# /usr/bin/whoam*
root

┌──(root㉿kali)-[/etc/docker]
└─# /usr/bin/whoam?
root

┌──(root㉿kali)-[/etc/docker]
└─# /usr/bin/wh?am?
root

┌──(root㉿kali)-[/etc/docker]
└─# /usr/bin/????mi
root

┌──(root㉿kali)-[/etc/docker]
└─# /u?r/b?n/????mi
root

┌──(root㉿kali)-[/etc/docker]
└─# /*/b?n/????mi
root

Linux中命令中的命令

虽然会报错,但是命令也会正常执行

┌──(root㉿kali)-[/etc/docker]
└─# `666666`
666666:未找到命令

┌──(root㉿kali)-[/etc/docker]
└─# 666666`whoami`6666
666666root6666:未找到命令

┌──(root㉿kali)-[/etc/docker]
└─# `6666`whoami`6666`
6666:未找到命令
6666:未找到命令
root

┌──(root㉿kali)-[/etc/docker]
└─# 6666`whoami`6666
6666root6666:未找到命令

┌──(root㉿kali)-[/etc/docker]
└─# w`sfdawfewa`ho`sajfdkljas`am`sdjflk123`i
sfdawfewa:未找到命令
sajfdkljas:未找到命令
sdjflk123:未找到命令
root

┌──(root㉿kali)-[/etc/docker]
└─# wh${sdf}oam${ddkjdld}i
root

┌──(root㉿kali)-[/etc/docker]
└─# wh${sdf242341}oam${ddkjdld234232}i
root

linux环境变量切割

查看环境变量

┌──(root㉿251ebe86465a)-[/]
└─# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

查看环境变量的长度

┌──(root㉿251ebe86465a)-[/]
└─# echo ${#PATH}
60

分割环境变量

image-20240812143836169

本站内容部分转载于互联网,并不代表本站立场!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理! 拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容