3.5 命令注入

2019-12-02  本文已影响0人  最酷的崽_ec69

3.5.1. 简介

  命令注入通常因为指Web应用在服务器上拼接系统命令而造成的漏洞。
  该类漏洞通常出现在调用外部程序完成一些功能的情景下。比如一些Web管理界面的配置主机名/IP/掩码/网关、查看系统信息以及关闭重启等功能,或者一些站点提供如ping、nslookup、提供发送邮件、转换图片等功能都可能出现该类漏洞。

3.5.2. 常见危险函数

3.5.2.1. PHP

3.5.2.2. Python

3.5.2.3. Java

3.5.3. 常见注入方式

3.5.4. 无回显技巧

3.5.5. 常见绕过方式

3.5.5.1. 空格绕过

3.5.5.2. 黑名单绕过

3.5.5.3. 长度限制绕过

>wget\
>foo.\
>com
ls -t>a
sh a

  上面的方法为通过命令行重定向写入命令,接着通过ls按时间排序把命令写入文件,最后执行 直接在Linux终端下执行的话,创建文件需要在重定向符号之前添加命令 这里可以使用一些诸如w,[之类的短命令,(使用ls /usr/bin/?查看) 如果不添加命令,需要Ctrl+D才能结束,这样就等于标准输入流的重定向 而在php中 , 使用 shell_exec 等执行系统命令的函数的时候 , 是不存在标准输入流的,所以可以直接创建文件

3.5.6. 常用符号

3.5.6.1. 命令分隔符

3.5.6.2. 通配符

3.5.7. 防御

上一篇下一篇

猜你喜欢

热点阅读