【SQL开源代码栏目提醒】:本文主要为网学会员提供“MS+SQL+Server渗透测试方法 - 人力资源”,希望对需要MS+SQL+Server渗透测试方法 - 人力资源网友有所帮助,学习一下!
信息技术国±资源信息佬渗透测试方法谢朝海王建法董平。
公安部信息安全等级保护评估中心北京。
山东省蓬莱市国土资源局开发区分局。
山东蓬莱山东省蓬莱市国土资源局山东蓬莱摘要当前电子政务、电子商务和企业内部的很多数据和敏感信息都存放在数据库中但是数据库的安全性却一直没有像操作系统和网络设备那样受到应有的重视。
得到恰当的测试评估。
鉴于此本文提出可以利用两类不同的安全漏洞对数据库进行渗透测试给出具体的测试方法用以指导信息系统数据库管理员进行自测试评估及时发现存在的严重安全漏洞。
以进一步采取措施进行漏洞修补。
关键词数据库渗透测试漏洞中图分类号文献标识码文章编号一——引言微软的是一种广泛使用的数据库很多电子政务、电子商务和企业内部信息系统都是基于建设的。
政府部门和企业组织的很多数据都保存在这种数据库中比如政务文件信息、职工薪水和文档资料等甚至一些敏感的数据也存放在这种数据库中如政府事务安排、一些重要决策和企业市场计划等。
这些重要数据应该得到合理保护以便防止竞争者和其他非法人员攻击、获取。
但是由于数据库一般处在信息系统的内部网络区域在“防外不防内”的保护思想指导下数据库管理系统通常没有像操作系统和网络设备这样在安全性上受到应有的重视。
数据库系统中存在的安全漏洞和不当的配置通常会带来严重的后果。
特别是漏洞繁多的数据库它属于“端口”型数据库这就表示任何人都能够用分析工具直接连接数据库而绕过一些网络和操作系统的安全机制进而侵入系统、破坏和窃取数据资料甚至破坏整个信息系统。
‘鉴于此本文提出利用两类不同的安全漏洞进行渗透测试的方法以指导数据库管理员进行自测试评估及时发现严重漏洞并进行漏洞修补。
这两类漏洞具体是用户空弱口令和缓冲区溢出漏洞。
基础是由开发和推广的关系数据库管理系统具有真正的客户机服务器体系结构、图形化用户管理界面、丰富的编程接口工具等诸多特点。
很多电子政务、电子商务网站和企业内部信息化平台等都是基于的。
在软件结构上由两个部分组成服务器组件和客户端工具。
客户端工具与服务器组件的连接可以使用多种网络协议例如、命名管道等。
在默认情况下使用的端口为。
存在一个不能更改、也不能删除的超级用户。
这个用户应该使用一个非常强壮的密码然而很多数据库帐号的密码过于简单甚至是空口收稿日期作者简介谢朝海一。
男。
广西博士研究生信息系统安全测评工程师主要研究方向为网络信息安全技术、信息安全等级保护、密码分析技术王建法一男山东建筑工程助理工程师主要从事国土资源管理工作。
圄翟圈函 信息技术令这就给渗透测试提供了一个很好的、可以利用的安全漏洞这也常常是信息系统被轻易攻击的原因。
的存储过程是为完成特定的功能而汇集在一起的经编译后存储在数据库中的程序。
在的系列版本存在一类比较特殊的存储过程——扩展存储过程。
的扩展存储过程是一个普通的只是要按照某种规则来实现这些函数。
扩展存储过程可直接在实例中运行。
默认情况下包含有访问系统注册表、服务器文件系统、服务器硬件信息的扩展存储过程。
这些存储过程存在安全隐患。
其中对渗图壬三透测试特别有用的一个扩展存储过程是具如使用另一种方法是可以通过手工方通过它可以在系统的一个上执行任意瓦米元厩。
命令。
是一款专门攻击主机的工具它的对、。
数据库中不同安全漏洞的利用可功能包括有登陆服务器从而在服务器上以达到不同的目的。
例如通过一些漏洞的利用可以执行命令上传文件增加账户以及更改访问本来不可访问的数据包括读和写等通过一些服务器注册表等操作如图所示。
漏洞的利用可以执行一些
代码从而获得目标系统的访问权限或本地系统的更高权限等。
我们重点讨论后者包括的用户空弱口令的利用和两个典型的、非常重要的缓冲区溢出漏洞的利用等。
用户空弱口令的利用漏洞扫描是渗透测试的关键一步。
为了更好地完成识别出的用户空弱口令漏洞。
我们可以选用
开源软件扫描器也可以使用商用漏洞扫描器如绿盟的漏洞扫描工具等。
如果漏洞扫描器报告用户的口令为空则就可以直接利用。
使用工具连接服务器登录数据库后就可以进行各种各样攻击了如窃取本来不能访问的数据破坏数据库中数据的完整性等甚至进一步利用扩张存储过程进行主机操作系统的渗透获得数据库服务器主机的用户权限从而进一步控制该主机。
如果漏洞扫描结果中报告用户的口令为弱口令则我们可以进一步使用弱口令扫描器—进行扫描。
获得的口令。
如图。
通过扫描得到用户的口令就可以管理和控制数据库了而且可以利用这个权限去获得网络上更多的控制权。
这可以通过许多途径来达到一种比较简单的方法是使用现成工图攻击工具界面另外一种获得网络上更高的控制权的途径是以用户通过的查询分析器连接数据库服务器以手工方式执行各种存储过程和相关命令包括使用扩展存储过程执行操作系统的命令利用扩展存储过程去读注册表的键值当然包括键使用“”语法去读服务器上的任意文件使用、和系统存储过程去创建应用程序等。
例如使用执行各种各样的功能命令如下返回结果如图所示‘’。
缓冲区溢出漏洞的利用利用缓冲区溢出漏洞进行渗透是最常用的方法。
其实缓冲区溢出漏洞利用的原理很简单向存在缓冲区溢出漏洞程序中一个有限空间的缓冲区拷贝一匦圆圈 信息技术图用执行系统命令个过长的字符串这可能会出现两种后果一是过长的字符串覆盖了相临的存储单元而造成程序瘫痪甚至造成宕机、系统或进程重启等二是可让攻击者运行恶意
代码执行任意指令甚至获得超级权限等。
有资料显示许多攻击事件与缓冲区溢出漏洞有关在网络空间中利用这种缓冲区溢出漏洞而发起的攻击屡见不鲜。
早在年莫里斯就利用程序不限制输入长度的漏洞进行恶意攻击并感染到其他机器上。
年“”蠕虫王的发作就是利用未及时更新补丁的数据库缓冲区溢出漏洞获得非法权限—服务远程堆缓冲区溢出漏洞并感染其他机器的。
下面我们分析的另一个缓冲区溢出漏洞预验证过程远程缓冲区溢出漏洞也称溢出的利用。
溢出可以针对的预验证过程存在的问题通过连接端口就可以进行缓冲区溢出攻击。
由于问题出现在验证之前所以无需验证就可以进行攻击能使攻击者以进程权限在系统上执行任意指令。
是溢出反向连接工具下面介绍它的使用。
首先用工具在本机建立一个监听端图使用反向连接执行系统命令国土赘源信息佬口等待反向连接。
是一个非标准的客户端程序。
在命令提示符下输入命令—出现表示在等待的省略号。
然后执行进行溢出使用方法目标主机本地。
是监听的端口。
最后回到还在监听的命令窗体等待的省略号已经变为了系统的这也正是远程主机的命令控制台。
是操作系统的最外层管理着用户与操作系统交互、通讯、执行等工作的操作。
得到了对方的就代表着已经拥有了与对方计算机直接沟通、下达命令的平台。
用命令增加用户并提升权限。
在其命令行下输入的命令就可以建立一个属于自己名为“”密码是的普通账户。
在将所建用户的权限提升为管理员敲入批命令如图所示。
最后使用本机自带的远程终端软件敲入刚才溢出的以及建立提升的用户进行“远程连接”登录稍等片刻后就可以管理对方主机了。
对的缓冲区溢出漏洞的利用也可以使用工具来完成。
是一款
开源的安全漏洞检测工具。
最新版本的包含了多种当前流行的操作系统和应用软件的以及多个。
对该工具包括了两种漏洞的溢出攻击插件如图所示。
图缓冲区溢出攻击插件安全加固建议基于以上的测试分析我们提出如下三点安全加固建议供数据库管理员参考使用。
使用健壮的用户口令策略。
我们把用户口令圄匿嗣函 胛能—一信息技术策略摆在所有安全配置的最前面这是因为我们发现在政府部门和企业组织的数据库中很多数据库帐号的令过于简单特别是用户更应该注意。
安装时如果是使用混合模式那么就需要输入的密码除非你确认必须使用空密码。
同时要养成定期修改口令的好习惯。
数据库管理员应该定期查看是否有不符合口令要求的账号。
管理扩展存储过程。
对存储过程进行大手术并且对账号调用扩展存储过程的权限要慎重。
其实在多数应用中根本用不到多少系统的存储过程而的这么多系统存储过程只是用来适应广大用户需求的所以请删除不必要的存储过程。
因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。
特别是扩展存储过程如果你不需要它就删除它。
同时去掉不需要的注册表访问的存储过程注册表存储过程甚至能够读出操作系统管理员的密码来。
进行及时升级管理。
数据库版本信息可以帮助渗透人员确定相应版本存在的漏洞以便更好地组织渗透。
对版本信息还可以告知安装的补丁信息如下表。
■参考文献【】×— MS
SQL Server渗透测试方法作者谢朝海 王建法 董平 XIE Chaohai WANG Jianfa DONG Ping作者单位谢朝海XIE Chaohai公安部信息安全等级保护评估中心北京100037 王建法WANGJianfa山东省蓬莱市国土资源局开发区分局山东蓬莱265600 董平DONG Ping山东省蓬莱市国土资源局山东蓬莱265600刊名国土资源信息化英文刊名LAND AND RESOURCES INFORMATIZATION年卷期2008quotquot5被引用次数0次 1.Johnny Long Penetration Testers Open Source Toolkit 20062.Federal Office for Information Security Study:A Penetration Testing Model3.李匀 网络渗透测试-保护网络安全的技术、工具和过程 20074.邹建
SQL Server 2000开发与管理应用实例 20055.踏雪寻梅
SQL Server 2000数据库安全妙招拆解 20066.Rui 九大措施教你安全配置
SQL Server 2000 2006 1.学位论文 刘文晋 远程渗透测试中的
SQL注入攻击技术研究 2009 随着网络安全意识的增强单一方法的渗透测试已不能满足远程渗透的需要。
更为有效的远程渗透测试采用的是渐进式的综合攻击技术突破内网横向提权获取目标主机权限以最终获取机密资料。
以
SQL注入攻击为主的Web脚本攻击作为进入内网的首选成为远程渗透测试中重要的技术之一。
本课题源自国家保密科学技术研究所的研究课题“基于互联网的非法外联的渗透检测技术研究”选取
SQL注入攻击技术作为突破内网的攻击技术深入研究。
本文设计了基于
SQL注入的远程渗透测试模型针对安全性更高的LAMPLinuxApacheMySQLPHP平台进行手工注入攻击技术的实验分析并针对无错误信息回显情况的盲注方式提出了几种新的注入技巧。
手工注入的内容根据
SQL注入的普遍流程从三方面展开主要包括获取注入攻击准备信息阶段的识错方式、注入点判断、系统函数探测获取数据库Root权限阶段的字段名逐位猜解、纵向提权、时间差函数和进入管理后台上传后门脚本程序。
与
SQL手工注入攻击相比
SQL自动注入可以缩短枚举、循环、递归等操作的时间解决
SQL手工注入技术门槛过高的问题提高注入攻击效率。
本文结合当前各种注入攻击技术的原理和特征设计并实现了一套基于Perl脚本语言的
SQL注入攻击系统SQLin。
该系统利用上传后门脚本程序通过已知注入点取得Webshell权限最终完全控制服务器和数据库。
提出搜索可上传路径算法实现后门脚本程序的自动上传同时改进
SQL请求算法将
SQL请求分解并利用多线程并行处理子请求一定程度上提高了注入攻击速度。
整个系统经测试及实验分析证明了其各种技术综合运用的正确性和高效性提高了
SQL注入攻击的方便性与准确性。
2.学位论文 任凯锋 缓冲区溢出和
SQL注入的渗透测试 2006 渗透测试是检测网络漏洞的重要手段。
它能使网络管理人员直观地体会到网络漏洞的危害程度增强安全意识并且能够根据检测结果有效的提高网络的安全程度。
因此渗透测试技术的研究及工具实现具有重要的意义。
缓冲区溢出和
SQL注入是渗透测试中重要的技术。
本课题的最终目的是实现一个基于缓冲区溢出和
SQL注入的测试工具。
本文深入介绍了缓冲区溢出攻击和
SQL注入的原理包括栈、堆、格式化字符串、单字节四种缓冲区溢出的过程覆盖返回地址、函数地址两种流程跳转技术shellcode的编写方法、流程及筛选
SQL注入的原理利用系统表对MSSQLServer的注入方法注入方法分为提示开启与提示关闭。
NBSI是当前流行的针对MSSQLServer的注入测试工具但是其注入检测方法却不够准确而且仅针对ASP本文的实验表明JSP中也存在注入漏洞。
使用抓包工具WinSockExpert对NBSI的注入检测及猜解方法进行分析可以得出NBSI采用基于状态码的方法判断注入漏洞并猜解数据本文发现的存在注入漏洞的页面表明这种方法比较片面。
本文在其基础上进行了改进采用状态码及返回信息结合的方法进行注入检测及猜解。
本文针对ASP与JSP采用MSSQLServer作为后台数据库且其提示信息开启时设计了关键字根据返回信息是否包含定义的关键字判定注入漏洞。
注入猜解则是根据状态码进行的。
在此基础上本文实现了一个基于缓冲区溢出和
SQL注入的测试工具这对渗透测试的自动化有重大的意义。
测试工具采用java语言实现缓冲区溢出的核心模块使用java语言的原生方法实现为保证各个模块协同工作使用了多线程技术软件
代码在jbuilder2005环境下完成。
总体来说本文在深入分析缓冲区溢出和
SQL注入的基础上重新筛选了shellcode对
SQL注入的方法进行了改进并且采用java语言实现了一个渗透测试工具。
测试结果表明该工具的缓冲区溢出测试保证了目标系统的稳定性
SQL注入的准确性相对于NBSI更好并能进行JSP注入而且可以在Linux系统下运行。
3.期刊论文 钟诚.邹青平 有关MS
SQL Sewer渗透测试的研究 -科技经济市场2010quotquot4 当前电子政务、电子商务和企业内部的很多数据和敏感信息都存放在MS
SQL Server数据库中但是
SQL Server数据库的安全性却一直没有像操作系统和网络设备那样受到应有的重视得到恰当的测试评估.鉴于此本文提出可以利用两类不同的安全漏洞对
SQL Server数据库进行渗透测试给出具体的测试方法用以指导信息系统数据库管理员进行自测试评估及时发现存在的严重安全漏洞并进一步采取措施进行漏洞修补.4.学位论文 许正强 网络信息安全渗透测试平台研究 2008 本文提出了一种易于实现的网络信息安全渗透测试平台设计了包括系统控制和协调模块、网络发现模块、Google Hacking模块、网络扫描模块、漏洞扫描模块、渗透测试模块、攻击清除模块、.
上一篇:
为 MapReduce 框架使用 SQL 类语言
下一篇:
月入5000,你有什么资格谈生活