OWASP TOP10-A1:注入
OWASP TOP10-A1
- 注入
- 什么是注入?
- 攻击方式
- 危害
- 脆弱点(容易被注入的地方)
- 常见的注入方式
- 注入演示
- 防范
注入
什么是注入?
将不受信任的数据作为命令或查询的一部分发送到解析器时,解析器会解析出恶意内容。攻击者的恶意数据可以让解析器执行非预期内的命令或者访问数据。
攻击方式
几乎任何的数据源都可以作为注入的地方,按照我的理解来说,就是只要用户可以摸到的地方攻击者也都可以碰到,成为注入载体,比如环境变量、所有类型的用户、参数等等,只要可以传递到解释器,就可以被解释,产生注入漏洞。
危害
导致数据丢失、破坏、泄漏给无授权方,缺乏无审计性或是拒绝服务。有时甚至导致主机被完全接管。
脆弱点(容易被注入的地方)
- 用户提供的数据没有经过应用程序验证、过滤或净化
- 动态查询语句或非参数化调用,在没有上下文感知转义的情况下,被用于解释器
- 在ORM搜索参数重使用了恶意数据,获得未授权或敏感的数据
- 恶意数据直接被使用或者连接,诸如SQL语句或命令在动态查询语句、命令或存储过程中包含结构和恶意数据
常见的注入方式
- os注入:在一些可以输入的地方通过输入可执行系统代码来获取服务器权限
- SQL注入:通过在已定义好的SQL语句后方添加额外的SQL语句来实现攻击
- NOSQL注入:输入非sql语句(系列操作符)来实现攻击
- LDAP注入:通过输入简单的LDAP语句来自动补全过滤器以达到提权或绕过验证的攻击
- XML解析器:通过DTD、XPath的方式,通过尝试访问内网文件等方式进行攻击
- SMTP包头注入:邮件头注入,通过修改发包,加入CC(抄送人)等方式获取信息
- ORM查询注入:和sql注入原理类似,通过注入拼接过的sql代码进行注入
注入演示
这里选用了官方文档的例子,觉得这个通俗易懂,新手更能理解。
- 情景1:原生sql
//以下代码存在脆弱性,可以通过构造永真式来查询出所有数据
String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'“;
- 情景2:采用Hibernate的查询框架
//此处框架并没有判断用户输入,盲目信任产生漏洞
Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");
我们只需要在后方输入id的位置输入
id=’ or’1’=’1
查询的意义就会变为输出accounts表中的所有数据。
防范
防止注入漏洞的方法就是将数据尽可能的跟命令语句、查询语句分隔开
使用安全可信任的API,避免使用解释器,提供参数化界面的接口,或迁移到【orm】或【实体框架】(后边这半句官方给的没看太懂)
使用规范化的输入验证方法
转译特定的特殊字符
ps:写在文后:
依旧是CSDN和安全行业的小弟,持续在努力,大佬们看到我的错误希望可以及时指正我,如果可以再给我一些建议就更好了,谢谢!
OWASP TOP10-A1:注入相关推荐
- TWO DAY | WEB安全之OWASP TOP10漏洞
TWO DAY | WEB安全之OWASP TOP10漏洞 一.OWASP简介 OWASP:开放式Web应用程序安全项目(Open Web Application Security Project), ...
- OWASP TOP10 移动安全漏洞(安卓)2017
文章目录 前言 OWASP TOP10 移动安全漏洞(安卓)2017 一.脆弱的服务器端安全控制 二.不安全的数据存储 三.传输层保护不足 四.意外的数据泄露 五.弱授权和身份认证 六.密码破解 七. ...
- owasp top10 渗透测试
本期内容 1.了解什么是渗透测试 2.常见漏洞有哪写 3.练习测试 目录 一.渗透测试 1.介绍 1.什么是 OWASP TOP 10 二.常见漏洞 的攻击方式 原因 和影响 A1 注入漏洞 攻击方式 ...
- OWASP TOP10 及防御手段(附加应用安全设计框架)
>>Ⅰ 了解Web交互的基本过程 图1.Web交互的基本过程(实际应用) 图2.Web交互的交换过程(原理) OWASP TOP10 1.1 A1-注入 注入漏洞攻击,例如SQL,OS,和 ...
- WEB安全-OWASP TOP10
目录 1.渗透测试基础 2.常见名词解释 3.OWASP TOP10 3.1访问控制崩溃 3.2敏感数据暴露 3.3注入 3.4不安全的设计 3.5安全配置不当 3.6使用含有已知漏洞组件 3.7认证 ...
- OWASP top10 详解
目录 什么是owasp top10? 排行榜 (1)SQL 注入 (2)失效的身份认证和会话管理 (3)跨站脚本攻击 XSS (4)直接引用不安全的对象 (5)安全配置错误 (6)敏感信息泄露 (7) ...
- OWASP TOP10系列之#TOP1# A1-注入类
OWASP TOP10系列之#TOP1# A1-注入类 提示:本系列将介绍OWASP TOP10 安全漏洞相关介绍,主要针对漏洞类型.攻击原理以及如何防御进行简单讲解:如有错误,还请大佬指出,定会及时 ...
- 德慎思信息安全-OWASP 系列之注入漏洞(上)
OWASP 系列之注入漏洞(下) 摘要 上一期,我们介绍了注入漏洞中常见的 SQL 注入漏洞,主要内容是以 MySQL 为例介绍了 SQL注入的基本原理,并举例了几个常见的注入手法与原理.本期我们来介 ...
- 面试常见问题之OWASP top10
最近找工作浏览时,发现好多安全渗透岗的工作要求中有提到熟悉OWASP top 10这点,特意上网搜了下发现有好多关于这方面介绍,因此总结了一下,同时也分享给大家. OWASP top 10是什么? 首 ...
- OWASP top10漏洞原理及防御(2017版官方)
文章目录 一.OWASP top 10简介 二.OWASP top 10详解 A1:2017-注入 A2:2017-失效的身份认证 A3:2017-敏感数据泄露 A4:2017-XML外部实体(XXE ...
最新文章
- 【组队学习】【24期】Datawhale组队学习内容介绍
- 一道让你拍案叫绝的算法题
- mybatis与mysql的优点_MyBatis的优缺点以及特点
- 使用命令行加载 jMeter 自定义配置文件里的自定义 property
- 什么可以搜python答案_什么软件可以搜python答案
- 博途变量类型_PLC数据类型(UDT)
- nofollow标签_nofollow标签是什么?如何使用
- MQTT onenet 使用记录
- 关于JS的window.onload与$(function (){})方法区别
- sprk sql自定义UDF函数
- IT技术支持必备知识
- Unity3D插件之DoTween
- linux——20线程池
- 小程序动态隐藏分享按钮
- 基于动态手势识别的酷狗音乐播放器控制
- OpenGL红宝书的部分学习记录
- CTP开发——初始化
- 自动控制原理(1)-典型环节的传递函数
- el-badge 标记
- Android 中 View 的手势事件处理