zoukankan      html  css  js  c++  java
  • PHP命令执行与防范

    命令执行漏洞是指攻击者可以随意执行系统命令,是高危漏洞之一。

    命令连接符:&  &&   ||     |

    如:ping www.baidu.com && net user

    PHP命令执行

    (1)命令执行

    PHP提供了一些函数用来执行外部应用程序,如:system(),shell_exec(),exec()和passthru。

    (2)代码执行

    eval()函数是一个危险函数,函数内的字符串被当做PHP代码来执行,也就是说,这个函数可以动态的执行PHP代码,如一句话木马:<?php eval($_POST['x']);?>

    (3)动态函数调用

    举代码例子:<?php $a=$_GET['a'];   $b=$_GET['b'];    $a($b);?>

    如果用户传参:a=system&b=net user,最终执行的函数是:system("net user"),这只是一个简单的例子,说明其危害还是很大的。

    (4)PHP函数代码执行漏洞

    想preg_replace(),ob_start,array_map()等函数都是存在代码执行漏洞的,我所学略浅,想要深入了解,可上网查资料或者参考《高级PHP应用程序漏洞审核技术》。

    防范命令执行漏洞

    尽量不要使用系统执行命令。

    在执行命令函数、方法前,变量一定要做好过滤,对敏感字符进行转义。

    使用动态函数之前,确保使用的函数是指定的函数之一。

    对PHP语言来说,不能完全控制的危险函数最好不要使用。

  • 相关阅读:
    14.UA池和代理池
    13.scrapy框架的日志等级和请求传参
    12.scrapy框架之递归解析和post请求
    11.scrapy框架持久化存储
    10.scrapy框架简介和基础应用
    09.移动端数据爬取
    08.Python网络爬虫之图片懒加载技术、selenium和PhantomJS
    07.验证码处理
    vi编辑器
    tar 压缩命令
  • 原文地址:https://www.cnblogs.com/whitehawk/p/9903869.html
Copyright © 2011-2022 走看看