ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2019.11.12读书笔记

2019-11-13 12:55:58  阅读:204  来源: 互联网

标签:存储 12 读书笔记 ## 数据库 2019.11 查询 SQL 注入


SQL注入之外:扩大数据库攻击范围
拥有应用程序的所有数据是SQL注入攻击的最终目的。
1:如果数据库被其他应用程序共享,可以通过提升数据库的使用权限访问其他应用程序的数据。
2:可以攻破数据库服务器的操作系统。
3:可以访问其他系统。通常,数据库服务器是一个在几成网络边界防御保护下的网络中的主机。如果能够控制数据库服务器,攻击者就处在一个可信的位置上,可以访问其它主机上的关键服务,进一步对其加以利用。
4:可以在主机基础架构与自己的计算机之间建立网络连接,这样,攻击者就可以完全避开应用系统的防御,轻易传送从数据库收集到的大量敏感数据,并且可以穿透许多入侵检测系统。
5:可以通过创建用户定义的功能任意扩充数据库的现有功能,有些时候,可以通过这种方式重新执行已被删除或禁用的功能,避开数据库实施的强化保护措施,只要已经获得数据库管理员(DBA)权限,就有办法在每种主流数据库中执行这种操作。
1:MS-SQL
最常被攻击的数据库功能可能是xp_cmdshell存储过程,他是MS-SQL默认内置的一项功能。这个存储过程允许数据库管理员用户以和cmd.exe命令提示符相同的方式执行操作系统命令。
例如:master..xp_cmdshell 'ipconfig > fooo.txt'
攻击者可在众多情况下滥用这项功能。他们可以执行命令,将结果指向本地文件,然后读取文件内容。他们可以打开一个连通自己计算机的带外网络连接,并建立一个秘密的命令和通信渠道,从服务器复制数据并上传攻击工具。
MS-SQL默认LocalSystem运行,MS-SQL还有许多其他存储过程,如xp_regread或xp_regwrite也可用于在windowns操作系统注册表中执行强大的功能。
处理默认锁定##
如果数据库中的Web应用账户拥有足够高的权限,则通过重新设置数据库,该用户就可以突破上述功能实施的限制。
Oracle##
Orcale包含许多可在数据库管理员权限下运行的内置的存储过程,并以发现这些存储过程存在SQL注入漏洞。
防止SQL注入##
1:部分有效的防御状态
2:参数化查询
注:应在每一个数据库查询中使用参数化查询
2:插入查询中的每一种数据都应适当进行参数化
3:参数占位符不能用于指定查询种表和列的名称
4:参数占位符不能用于查询的任何其他部分,如ORDER BY子句中的ASC或DESC关键字,或任何其他SQL关键字,因为他们属于查询结构的一部分。
NOSQL##
NOSQL指各种不同标准的关系数据库体系架构的数据存储区。
NOSQL数据存储区呈现使用键/值映射的数据,并且不依赖与固定的方案,如传统的数据库表,键和值可以任意定义,而且值的格式通常与数据存储无关。
注入MongoDB##
注入XPath
XPath(XML路径语言)是一种用于导航XML文档并从中获取数据的解释性语言。
子字符串函数,可用它一次一个字符串测试一个字符串的值
注入LDAP
LDAP(轻量级目录访问协议)用于访问网络中的目录服务。
每个LDAP查询使用一个或多个搜索过滤器,他们决定了请求返回的目录项。
最常用的搜索过滤器如下:
简单匹配条件
析取查询
合取查询
防止LDAP注入##
根据一份可接受字符“白名单”检查用户输入,其中最好可实施严格输入确认的简单数据。拒绝不要净化。

标签:存储,12,读书笔记,##,数据库,2019.11,查询,SQL,注入
来源: https://www.cnblogs.com/wangtanzhi/p/11848071.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有