热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OWASPTOP10之注入

注入,汉语解释为泵入、灌入或流入。站在应用程序的角度来说就是输入,如果这个输入是恶意的,并且应用程序并未判断为无效输入或者说并未进行拦截和

        注入,汉语解释为泵入、灌入或流入。站在应用程序的角度来说就是输入,如果这个输入是恶意的,并且应用程序并未判断为无效输入或者说并未进行拦截和过滤,这时候注入漏洞就出现了,OWASP的官方解释可以见这里,http://www.owasp.org/index.php/Injection_Flaws。

注入漏洞的攻击向量

        在概述中我就有描述过攻击向量,用来描述攻击者的攻击路径(方法),那么注入的攻击向量是什么呢?一般指的是恶意攻击者可以进行控制或者进行输入的每一个地方。注入漏洞一般会出现在SQL、LDAP、XPath、NoSQL的查询语句中,同样也会存在于OS命令、XML解析器、SMTP包头、表达式语句以及ORM查询语句中。

产生注入漏洞的原因

        注入漏洞的根本原因,我的理解是当攻击者向应用程序发送恶意数据的时候,应用程序并未进行校验,直接传递给到解释器,解释器是不会对攻击者输入的恶意数据进行校验,而是直接翻译成机器可以执行的语句,于是乎攻击者的目的便达成了。常见的产生注入漏洞的原因如下:

1、应用程序未对用户的数据输入做任何的验证、过滤;

2、动态查询语句或非参数化 的调用,在没有上下文感知转义的情况下,被用于解释器;

3、在ORM搜索参数中使用了恶意数据,这样搜索就获得包含敏感或未授权的数据;

4、恶意数据直接被使用或连接,诸如SQL语句或命令在动态查询语句、命令或存储过程中包含结构和恶意数据;

常见的注入方式


名称

注入方式

OS注入

在应用程序获取用户输入的地方输入可执行的系统命令来获取服务器权限;

SQL注入

在应用程序已定义好的SQL语句后面通过某些特殊的符号增加额外的语句实现攻击;

NoSQL注入

输入非SQL语句,如系统操作命令等来实现攻击的目的;

LDAP注入

输入简单的LDAP语句来自动补全过滤器,以达到提权或绕过验证;

XML解析器

通过DTD、XPath的方式,通过尝试访问内网文件的方式实现;

SMTP包头注入

邮件头注入,通过修改发包,加入CC(抄送人)等方式获取信息

ORM查询注入

通过注入拼接过的sql代码进行注

        除了上面的这些名字上就带注入的方式,反序列化漏洞的利用,我认为也可以归属到注入这个大类里面,比如Shiro反序列化漏洞、fastjson1.2.47漏洞(大家可以看我前面的文章,有详细的讲解利用方法和利用原理)。

        上面是我用dvwa搭建的一个存在sql注入漏洞的靶机环境,下面是被注入页面的源码。

        可以看到源码中对用户传来的id值并没有做任何的校验过滤,显然存在sql注入漏洞的。(这里我只做一个简单的示例,接下来会针对sql注入单独出一篇文章。)

        首先试探下输入ID数字2,显然可以获取到用户名;

        接下来试探下屡试不爽的or语句3' or '1'='1,可以看到,显然是拿到了全部的账号信息,目的达成。

        我们简单的来说下为什么输入or后面那一串能实现的,可以注意到,源码里面有一句SQL语句,我们在输入框中输入的数据将会传递给到上面这句话的$id,我们尝试将我的恶意输入代入,如下图所示,因为没有对我的输入进行判断,所以将or这个词也带进select语句里面了,后面的1=1显然为真,所以,对于判断语句WHERE而言,就是输出全部的first_name和last_name,由此,便实现了SQL注入,如今这类的洞是少之又少了,但是根据这个逻辑,还是有不少类似的SQL注入漏洞的。

如何预防注入

1、对特殊的查询字符进行转移;

2、尽可能使用白名单进行输入验证;

3、在系统中考虑所有事件类型和入口点;

4、标识信任源和资源并将其添加进白名单;

5、赋予执行函数最小特权,以此减少攻击面;

6、使用安全的API,避免使用解释器,或者提供参数化界面的接口,或迁移到ORM或实体框架;

 

 


推荐阅读
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • MySQL笔记_MySQL笔记1|数据库17问17答
    本文由编程笔记#小编为大家整理,主要介绍了MySQL笔记1|数据库17问17答相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • OWASP(安全防护、漏洞验证工具)开放式Web应用程序安全项目(OWASP,OpenWebApplicationSecurityProject)是一个组织 ... [详细]
  • zuul 路由不生效_Zuul网关到底有何牛逼之处?竟然这么多人在用~
    作者:kosamino来源:cnblogs.comjing99p11696192.html哈喽,各位新来的小伙伴们,大家好& ... [详细]
  • 【CTF 攻略】第三届 SSCTF 全国网络安全大赛—线上赛 Writeup
    【CTF 攻略】第三届 SSCTF 全国网络安全大赛—线上赛 Writeup ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 三小时掌握计算机网络基础(通俗易懂)
    目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARPRARP协议6.路由选择协议7.TCPIP协议8.UDP协议 9.DNS协议 ... [详细]
  • 适合小型网络环境的免费网络管理软件Intermapper
    InterMapper网络管理软件可支持监测5台以内的网络设备,特别适合安装使用在小型网络环境,可以实时了解网络运行状态和网络拓扑,支持多 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有