程序员必知:命令执行学习

简介: 程序员必知:命令执行学习

一、编写存在命令注入的代码

1.windows环境

<?php

//代码效果参考:http://www.zidongmutanji.com/zsjx/207475.html

$target=$_REQUEST【'ip'】;

$cmd = shell_exec('ping '.$target);

echo "

{$cmd}";

?>

测试:|net user

命令执行相关的函数;

system()

system函数可执行并直接显示结果

passthru()

执行有回显,将执行结果输出到页面上

exec()

执行无回显,默认返回最后一行结果

shell_exec()

默认无回显,通过 echo 可将执行结果输出到页面

popen(//代码效果参考:http://www.zidongmutanji.com/bxxx/332044.html

)

函数需要两个参数,一个是执行的命令command,另外一个是指针文件的连接模式mode,有r和w代表读和写。

函数不会直接返回执行结果,而是返回一个文件指针,但是命令已经执行。

反引号里面的代码也会被当作OS命令来执行

命令执行漏洞有时候要搭配管道符来进行实现,下面是Windows下的管道符

| //代码效果参考:http://www.zidongmutanji.com/zsjx/506329.html

直接执行|后面的命令

|| 如果前面的语句执行出错,则执行后面的语句,前面的语句只能为假

如果前面的语句为假,则直接执行后面的语句,前面的语句可真可假

如果前面的语句为假,则直接出错,也不执行后面的语句,前面的语句只能为真

2.Linux环境

<?php

if (isset($_GET【'cmd'】))

{

相关文章
|
Shell 测试技术
Shell编程实战的命令测试
Shell编程实战的命令测试
58 1
|
7月前
|
编译器 C++
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
82 0
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
|
7月前
|
缓存 算法 Python
【python实操】如何改善你的程序,让你的程序更快执行?
【python实操】如何改善你的程序,让你的程序更快执行?
61 0
|
Shell Linux Go
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
123 0
|
测试技术
软件测试面试题:lr中,如果你想停止执行出错的脚本,怎么做?
软件测试面试题:lr中,如果你想停止执行出错的脚本,怎么做?
86 0
|
网络协议 安全 Java
工作中常用到的Linux命令操作
工作中常用到的Linux命令操作
232 0
|
缓存 JavaScript Java
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
426 0
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
|
存储 算法 数据库
分享几个有趣的程序(有些还是值得学习的哦)~
分享几个有趣的程序(有些还是值得学习的哦)~
158 0
分享几个有趣的程序(有些还是值得学习的哦)~
|
搜索推荐 程序员 Shell
抓狂!这条命令执行完女朋友都跟人跑了!
抓狂!这条命令执行完女朋友都跟人跑了!
139 0
抓狂!这条命令执行完女朋友都跟人跑了!