命令执行及代码执行

命令执行及代码执行漏洞原理

命令执行和代码执行漏洞是因为在代码中有进行执行的函数,但是有没有对用户可控数据进行过滤,所以形成了这个漏洞。

在执行时的连接符

command1&command2    两个命令同时执行
command1&&command2   只有前面命令执行成功,后面命令才继续执行
command1;command2    不管前面命令执行成功没有,后面的命令继续执行
command1||command2    顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令

命令执行常见函数

  1. system:执行一个外部的应用程序并显示输出的结果。
  2. exec:执行一个外部的应用程序。
  3. shell_exec:执行shell命令并返回输出的结果的字符串。
  4. passthru:执行一个UNIX系统命令并显示原始的输出。
  5. popen():打开到命令参数中指定的程序的管道,如果发生错误,则返回false。
  6. proc_open: 执行一个命令,并且打开用来输入/输出的文件指针。

代码执行常见函数

  1. eval() :把字符串按照 PHP 代码来计算。
  2. assert():判断是否为字符串,是则当成代码执行。php官方在php7中更改了assert函数。在php7.0.29之后的版本不支持动态调用。
  3. call_user_fuc():调用函数。
  4. call_user_fuc_array():调用函数,参数为数组。

判断注入点
1.找到网页命令执行的功能区。

比如这里就是一个ping的功能区。
在这里插入图片描述2.如果说有源码就在我们上面的常见函数中进行查找,看是否使用了函数。

3.基于各种框架的漏洞,如strut2框架的远程代码执行漏洞。利用exp进行利用。

参考文章

命令执行和代码执行漏洞

聊一聊代码、命令执行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值