linux命令绕过
linux命令绕过
test文件里的内容是'hahaha'
利用空字符、空变量、转译符
ca''t test/cat te""st
cat te\st
ca$@t test (Linux中$[0-9]、$*、$!、$@表示参数)
a=at;b=c;d=st;e=te;$b$a $e$d(Linux中变量以英文字母,数字和下划线,首个字符不能以数字开头)
利用花括号
cat t{es,}t 花括号通过逗号分割构建序列并展开
cat {tes,t}{tes,t} 花括号可以表示两个序列的笛卡尔积
利用通配符
cat /te* *匹配任意长度的任意字符
cat /te?t ?匹配一个任意字符
cat /te[a-z] t 匹配[list]列表中的所有字符
cat /t[ ^a,b,c]st 匹配非列表[^list]中的所有字符
利用编码
以下编码都是(cat test)
echo Y2F0IHRlc3Q= | base64 -d | bash 打印 | 解码 | bash运行
echo 6361742074657374 | xxd -r -p|bash hex加密
$(printf "\x63\x61\x74\x20\x74\x65\x73\x74\x0a") 注意printf后面有一个空格
`printf "\x63\x61\x74\x20\x74\x65\x73\x74\x0a"` 反引号
cat命令绕过
cat test
tac test
more test
less test
head test
tail test (用tail -f 查看服务器日志,会不断检索文件有没有更新,实时把内容打印)
nl test
od test
rev test
空格绕过
利用重定向
cat<test
cat<>test
利用分割符
cat$IFStest
cat$IFS$9test
cat{$IFS}test
利用花括号
{cat,test}
本文作者:Jinx8823
本文链接:https://www.cnblogs.com/Jinx8823/p/16262990.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步