企业免费网站建设模板下载十秒折一个萝卜刀
企业免费网站建设模板下载,十秒折一个萝卜刀,做网站常用软件,wordpress登录文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec#xff1a;2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层… 文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层过滤不严2、系统的漏洞造成命令注入3、调用的第三方组件存在代码执行漏洞 九、命令执行漏洞常用的命令WindowsLinux 十、命令执行漏洞原理十一、命令执行漏洞使用的特殊字符1、2、3、|4、|| 十二、命令执行漏洞getshell1、直接获取webshell2、显示当前路径3、读文件4、写文件 一、RCE
------ 远程命令执行或者代码执行因为RCE这个词的滥用RCE的范围比较广只要渗透的最终情况可以实现执行命令或者是代码都属于RCE例如代码执行、文件包含、反序列化、命令执行甚至是写文件Getshell都可以属于RCE。
------ RCE漏洞可以让攻击者直接向后台服务器远程注入操作系统命令或者代码从而控制后台系统。 二、命令执行/注入-概述
------ 应用有时需要调用一些执行系统命令的函数比如php中的system、exec、shell_exec、passthru、popen等当用户调用这些函数时就可以将恶意系统命令拼接到正常命令中从而造成命令执行攻击这就是命令执行漏洞。
------ 命令执行产生原因Web应用的脚本代码在执行命令的时候过滤不严从而注入一段攻击者能够控制的代码在服务器上执行恶意指令。
------ 命令执行漏洞是PHP应用程序中最常见的漏洞之一。
------ 命令执行漏洞直接调用操作系统命令。可以执行系统或应用指令(如CMD命令或bash命令)的漏洞PHP命令执行漏洞主要基于一些函数的参数过滤不严导致。 三、命令执行-常见函数
常见的命令执行函数
PHPexec、shell_exec、system、passthru、popen、proc_open等ASP.NETSystem.Diagnostics.Start.Process、System.Diagnostics.Start.ProcessStartInfo等Javajava.lang.runtime.Runtime.getRuntime、java.lang.runtime.Runtime.exec等 四、PHP命令执行-常见函数
1、exec
返回值返回命令执行结果的最后一行内容失败时返回 false
?phpecho exec($_POST[q]);
?
?phpprint exec($_POST[q]);
?如下图只会输出最后一行
2、system
------ 该函数会把执行结果输出并把输出结果的作为字符串返回。
------ 如果 PHP 运行在服务器模块中system() 函数还会尝试在每行输出完毕之后自动刷新 web 服务器的输出缓存如果执行失败则返回false。
?phphighlight_file(__FILE__); system(whoami);
?highlight_file() 函数以字符串形式返回 突出显示的代码
成功返回true否则返回false。3、passthru
------ 执行外部程序并且显示原始输出。执行的 Unix 命令输出二进制数据 并且需要直接传送到浏览器的时候 需要用此函数。
?phphighlight_file(__FILE__);passthru(whoami);
?4、shell_exec
------ 通过 shell 执行命令并将完整的输出以字符串的方式返回。
?phphighlight_file(__FILE__);var_dump(shell_exec(ipconfig));
?5、反引号 backquote
------ shell_exec() 函数实际上仅是反撇号 () 操作符的变体
?php echo whoami; ?
这时候whoami会直接被当成命令来执行。五、PHP命令执行-常见函数总结
------ 可执行命令的函数 system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()反引号也可以执行命令
system()、exec()、shell_exec()、passthru()以及反引号( )是可以直接传入命令并且函数会返回执行结果。 如 ?php system(ipconfig); ? ?php echo whoami; ? popen()、proc_open()函数不会直接返回执行结果而是返回一个文件指针通过文件指针就可对它所指的文件进行各种操作命令是已经执行了
?php popen(whoami D:/2.txt,r); ? 六、命令执行漏洞成因
------ 一般出现这种漏洞是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界面用户从web界面输入目标IP提交后后台会对该IP地址进行一次ping测试并返回测试结果。
------ 而如果设计者在完成该功能时没有做严格的安全控制则可能会导致攻击者通过该接口提交“意想不到”的命令从而让后台进行执行从而控制整个后台服务器。 七、命令执行漏洞利用条件
应用调用执行系统命令的函数将用户输入作为系统命令的参数拼接到了命令行中没有对用户输入进行过滤或过滤不严 八、命令执行漏洞分类
1、代码层过滤不严
商业应用的一些核心代码封装在二进制文件中在web应用中通过system函数来调用。
2、系统的漏洞造成命令注入
bash破壳漏洞(CVE-2014-6271)
3、调用的第三方组件存在代码执行漏洞
如WordPress中用来处理图片的ImageMagick组件 JAVA中的命令执行漏洞(struts2等) ThinkPHP命令执行 九、命令执行漏洞常用的命令
Windows
dir----查看文件目录
ipconfig----查看Windows的IP地址
arp -a----查看ARP缓存表
calc----在命令行打开计算器
regedit----打开注册表
netstat -ano----查看开放的端口信息Linux
cat /etc/passwd----查看passwd文件
id----查看该用户的ID号
groups----查看用户所属的组
cat /etc/group----查看组信息
whoami----查看当前用户
pwd----查看当前路径
uname -a----查看主机信息
cat /etc/issue----查看主机的配置信息
netstat -pantu----查看开放的端口信息
netstat -nr----查看路由信息十、命令执行漏洞原理
------ 在操作系统中、|、||都可以作为命令连接符使用用户通过浏览器提交 执行命令由于服务器端没有针对执行函数做过滤导致在没有指定绝对路径的情况下就执行命令。
------ 远程命令执行漏洞指用户通过浏览器提交执行操作命令由于服务器端没有针对执行函数做过滤就执行了恶意命令。 十一、命令执行漏洞使用的特殊字符 1、
12用来分隔一个命令行中的多个命令。先运行第一个命令1然后运行第二个命令2。
2、
12先运行第一个命令1只有在符号前面的命令1运行成功时才运行该符号后面的命令2。
3、|
1|2命令行的管道符号将命令1的输出立即作为命令2的输入它把输入和输出重定向结合在一起。直接执行了后面的语句
4、||
1||2先运行第一个命令只有在符号||前面的命令1未能运行成功时才运行符号||后面的命令2。 十二、命令执行漏洞getshell
------ 攻击者直接继承web用户权限可以在服务器上执行任意命令危害特别大。
以下是几种常见的命令执行利用方式
1、直接获取webshell
例如可以写入一句话木马 ?cmdecho “?php eval($_REQUEST[123]); ?” D:\phpstudy\PHPTutorial\WWW\webshell.php
2、显示当前路径
例如可以提交参数 ?cmdcd 来查看当前路径。
3、读文件
例如?cmdtype c:\windows\system32\drivers\etc\hosts来查看系统hosts文件。
4、写文件
例如可以提交参数 ?cmdecho “?php phpinfo(); ?” D:\shell.php
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89029.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!