zoukankan      html  css  js  c++  java
  • command injection命令注入

    命令注入

    是指程序中有调用系统命令的部分,例如输入ip,程序调用系统命令ping这个ip。如果在ip后面加一个&&、&、|、||命令拼接符号再跟上自己需要执行的系统命令

    在ping设备的输入框中ip后面加上&ifconfig,或者其他命令

     222.222.221.138&ifconfig

    和文件上传漏洞对比

    相同点

    相同的地方是都是根据程序调用系统命令

    不同点

    命令注入是程序调用系统命令,在参数没有约束的情况下,在参数后加上需要执行的系统命令。这个限制在于程序不一定提供这种调用系统命令的功能。

    文件上传漏洞是自己手动上传一个执行系统命令的页面,然后访问这个页面,把命令以参数的形式传给页面执行。

    上图中在文件上传漏洞同样可以达到一样的效果

    工具的使用

    Commix工具可以用来命令注入.

    防护

    参数过滤

    白名单保护

    如果命令的参数是有特征性的建议使用白名单对输入的参数进行保护

    比如允许[a-z][A-Z][0-9] _- 等有限的字符

     黑名单保护

    |;&$><`! 可以将这些字符直接作为黑名单过滤

    f u0000 这些字符需要作为黑名单过滤,特别是空字符截断 u0000 (这个在JVM6里是没有保护)

  • 相关阅读:
    Python爬虫-05:Ajax加载的动态页面内容
    Python爬虫-04:贴吧爬虫以及GET和POST的区别
    Python-爬虫03:urllib.request模块的使用
    Python Numpy-基础教程
    8皇后算法
    迷宫算法
    归并排序
    查找算法
    排序算法
    设计模式
  • 原文地址:https://www.cnblogs.com/aeolian/p/11051361.html
Copyright © 2011-2022 走看看