6,命令执行+代码执行+文件包含

10.1  命令执行的原理
    用户的输入作为 系统命令 的参数拼接到命令行中,应用在调用这些函数执行系统命令的时候,又没有过滤用户的        输入的情况下, 就会造成命令执行漏洞。
10.2 命令执行的危害
    10.2.1 继承Web服务器程序的权限,去执行系统命令或读写文件
    10.2.2 反弹shell
    10.2.3 控制整个网站,甚至控制整个服务器
10.3 漏洞产生的原因
    10.3.1 没有对用户输入进行过滤或过滤不严
    10.3.2 系统漏洞造成的命令执行
10.4 相关函数
    system() passthru() exec() shell_exec() popen() proc_open() `(反引号) ob_start()
10.5 防御
    my.ini配置文件修改禁用命令执行
        disable_functions
 

11.1 什么是代码执行
    应用程序对传入命令的参数过滤不严导致入侵系统,造成严重破坏的高危漏洞。
11.2. 危害    
    执行任意代码。
11.3 相关函数    
    ①(),assert(),preg_replace(),create_function(),array_map(),call_user_func()…动态函数赋值
11.4 防御
    11.4.1 使用addslashes()函数将参数转译,或使用黑白名单校验
    11.4.2 禁用或减少使用执行代码的函数
    11.4.3 限制Web用户的权限

文件包含

12.1 原理
    在引入文件时,包含的文件名用户可控,由于传入的文件名没有经过合理的校验,或者校验被绕过。
12.2 相关函数
    include(),include_once() ,require(),require_once()
12.3 require()与include()的区别
    require()执行如果发生错误,函数会输出错误信息,并终止脚本的运行
12.4 文件包含分为 本地文件包含 以及 远程文件包含
        本地文件包含: 只能包含当前服务器上存储的文件
        远程文件包含 : allow_url_fopen allow_url_include 均为On
12.5 作用
    a) 上传文件配合文件包含getshell
    b) 包含日志文件getshell
    c) 读取源码文件
    d) 使用协议 执行php代码
12.6 不允许使用http时
    1. php://input协议      该协议是读取post请求包中,请求体的数据
    2. file:// 协议        访问本地文件系统,跟绝对路径
    3. zip:// (PHP的版本> =5.3.0)
    4. php://filter协议    将文件中的数据进行base64加密后在输出
    5. data:text/plain 
    6. phar://
12.7 危害
    1、敏感信息泄露
    2、获取Webshell
    3、任意命令执行
12.8 防御
    1. 设置白名单
    2. 过滤危险字符
    3. 设置文件执行目录(open_basedir选项可以设置用户需要执行的文件目录)
    4. 关闭危险配置 (allow_url_fopen allow_url_include)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值