红队系列-Bypass技巧
- 命令执行RCE
- windows
- 符号与命令的关系
- cmd中的set命令和%符号的含义和windows变量
- 参考文章
- 命令执行bypass分享
命令执行RCE
windows
符号与命令的关系
” 和 ^ 这还有成对的圆括号()符号并不会影响命令的执行。
windows环境下,命令可以不区分大小写
//正常执行 whoami
//正常执行w"h"o"a"m"i
//正常执行w"h"o"a"m"i"
//正常执行wh""o^a^mi
//正常执行wh""o^am"i
//正常执行((((Wh^o^am""i))))
当可以加无数个”但不能同时连续加2个 ^ 符号
因为^号是cmd中的转义符,跟在他后面的符号会被转义
w"""""""""""""hoami //正常执行
w""""""""""""""""""hoa^m"i //正常执行
w"""""""""""""hoa^^m""i //执行错误
cmd中的set命令和%符号的含义和windows变量
set命令可以用来设置一个变量(环境变量也是变量哦~),那么%符号如下图
set a=1 //设置变量a,值为1
echo a //此时输出结果为"a"
echo %a% //此时输出结果为"1"
用两个%括起来的变量,会引用其变量内的值。那也就是说:
set a=whoami //设置变量a的值为whoami
%a% //引用变量a的值,直接执行了whoami命令
这样就可以执行命令了,又或者还可以
set a=who
set b=ami
%a%%b% //正常执行whoami
set a=w""ho
set b=a^mi
%a%%b% //根据前一知识点进行组合,正常执行whoami
set a=ser&& set b=ne&& set c=t u && call %b%%c%%a%
//在变量中设置空格,最后调用变量来执行命令
参考文章
命令执行bypass分享