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

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

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

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'】))

{

相关文章
|
数据可视化 Linux
Linux常用命令太多,按这6种方法,帮助你有效掌握命令
Linux常用命令太多,按这6种方法,帮助你有效掌握命令
140 0
|
3月前
|
Python
脚本式编程
脚本式编程。
30 1
|
6月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行与脚本的奥秘
【8月更文挑战第30天】在Linux的世界里,命令行是运维人员的灵魂之窗。掌握命令行,就像握住了一把钥匙,能开启系统管理的宝藏箱。本文将带你走进Linux的命令行世界,通过实际代码示例,解锁那些高效管理和维护系统的秘籍。你将学到不仅仅是命令本身,更是如何将这些命令编织成强大的脚本,让日常的运维工作变得游刃有余。准备好跟随我的步伐,一起深入探索Linux命令行与脚本的奥秘吧!
|
9月前
|
编译器 C++
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
106 0
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
|
Shell Linux Go
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
135 0
|
运维 监控 Shell
太牛了!100个Shell脚本实例,代码清晰拿来就能用,再也不怕写不对了!
太牛了!100个Shell脚本实例,代码清晰拿来就能用,再也不怕写不对了!
|
测试技术
软件测试面试题:lr中,如果你想停止执行出错的脚本,怎么做?
软件测试面试题:lr中,如果你想停止执行出错的脚本,怎么做?
92 0
|
缓存 JavaScript Java
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
439 0
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
|
搜索推荐 程序员 Shell
抓狂!这条命令执行完女朋友都跟人跑了!
抓狂!这条命令执行完女朋友都跟人跑了!
150 0
抓狂!这条命令执行完女朋友都跟人跑了!
|
Shell Linux
shell编程01【执行方式】
经常需要在Linux上操作,对应shell脚本来说应该还是要掌握的,所以最近打算将shell入门的相关的知识整理一下,以供大家查阅。
shell编程01【执行方式】