MS SQL数据库SA权限入侵的感悟

转载 2007年10月08日 16:14:00
想必大家都知道MSSQL中SA权限是什么,可以说是至高无上。今天我就它的危害再谈点儿,我所讲的是配合NBSI上传功能得到WebShell。在讲之前先说几个条件,否则得到Shell是有难度的。
  1.存在SQL注入,并且数据库类型是MSSQL
  2.连接数据库的权限必须是SA。
  3.后台必须有文件上传的程序。

  好了,我们找到一个网址hxxp://www.6x36x.com/fangchan/listpro.asp?id=53,用NBSI一会就一目了然了。

  很好,数据库类型是MSSQL,权限是SA,再看看第三个条件满足不满足。找到页面中的文章(新闻),看看里面的图片的地址是什么。好!一看就明白了hxxp://www.6x36x.com/admin/uploadpic/2xx5042823082994329.gif,你明白了吗?特别是2xx5042823082994329.gif 这下我们敢肯定后台有上传文件的功能了。下面做什么呢?晕,找出该网站所在的路径呀。这个嘛就得全靠NBSI的NB Commander(NB Tree_List)功能了(在这里我推荐大家用NB Commander,为什么呢?看完文章就知道了),不过找出网站所在的真实路径需要花一定的时间,那就看你有没有耐心了。我敢说只要有耐心,肯定能找出网站所在的真实路径。这里我找到了这个站点所在的路径D:/9x3x9,接着就是后台了,很快就得到Admin/login.asp,接下来就是账号和密码的猜解了。不过我这次猜解出现了问题。说什么也弄不出他的账号和密码,难道都是空的?我不相信,就试着登录了一下,结果失败了。于是从这开始,NB Commander功能就显得非常重要了(因为大家都知道,列目录NB Command和NB Tree_List都能实现),我找到文件conn.asp,用type D:/9x3x9/admin/logining.asp命令看了看源代码。

  够狠吧!读了读代码没有问题呀!就是用的admin表字段也一样,不多说了,谁能知道其中的原因?请告诉俺一下,也让俺这只菜鸟走出困惑。进不了后台怎么上传图片呢?这里我用NBSI的上传功能,我试过了,没有成功。因为我传上去后,看到代码每行都重复三次,也不知是为什么,就是用臭要饭的Getwebshell也是同样的结果。

我想有了,看看它的Session是怎么验证的,又是一个type D:/9x3x9/admin/quanxian.asp。通过分析很快就明白了,它给Session(“wsl”)赋了一个值为1,哈哈!我写了一个非常简单的程序。用NBSI的上传功能传了上去,我想不管重复几次都是正确的(这里你又会想到什么呢?如果密码是MD5的,我们没有必要去爆破了,弄个session就ok了),传上去保存为1.asp,然后我访问hxxp://www.6x36x.com/admin/1.asp,接着访问hxxp://www.6x36x.com/admin/admin_index.asp,就这样进入了后台,本地测试。

  小提示:Session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个Session变量! 当一个用户访问某页面时,每个Session变量的运行环境便自动生成,这些Session变量可在用户离开该页面后仍保留20分钟!(事实上,这些变量一直可保留至“timeout”。“timeout”的时间长短由Web服务器管理员设定。一些站点上的变量仅维持了3分钟,一些则为10分钟,还有一些则保留至默认值20分钟。)所以,如果在Session中置入了较大的对象(如ADO recordsets,connections, 等等),那就有麻烦了!随着站点访问量的增大,服务器将会因此而无法正常运行!

  因为创建Session变量有很大的随意性,可随时调用,不需要开发者做精确地处理。所以,过度使用session变量将会导致代码不可读而且不好维护。

  这样我找到上传图片的地方,把asp木马改成.gif传了上去,记住了上传后的名字,这里是uploadpic/2xx56171430123.gif,那么你会想到什么呢?哈哈我想起来了,把图片copy成.asp的,或者重命名成.asp的。

  好了,到这里我们的马就算是上去了,至于以后的事情就不提了。
  总结:SA的确给我们带来了很大危害,所以程序员在连接MSSQL数据库的时候千万不能用它,否则服务器成为肉鸡的可能性非常非常的大。还有,MSSQL 的扩展存储功能,用不到它就删除,留着就成了黑客的利器。 

数据库 - 注入式入侵

SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。 这有利于管理员采取有针对性的防治措施。  一、 SQL注入攻击的简单示例。   stat...
  • Gykimo
  • Gykimo
  • 2014年05月25日 21:58
  • 1286

添加修改sa用户(数据库授权总结)

1、更改登录方式为混合验证方式 操作步骤为:   1. 打开企业管理器,依次展开服务器组,用右键单击软件使用的服务器。   2. 在弹出的快捷菜单,执行“属性”命令,出现“SQL S...
  • nzzl54
  • nzzl54
  • 2015年06月27日 22:50
  • 2102

【SQL Server】用户的设置与授权、sa用户登录、查询一个数据库中有多少张表

一、用户的设置与授权 SQL Server用户的设置与授权除了将不同的数据库开放给不同的用户以外,还有一个就是提供一个通道给其它程序访问,毕竟直接使用Windows身份验证有点不太专业。 在实验之前,...
  • yongh701
  • yongh701
  • 2015年12月30日 17:05
  • 5765

写在sqlserver 2008 数据库登录不上,sa账户无法更改,提示无权限。

楼主前几天一个项目用到了sqlserver 2008 R2,一直用的好好的,今天早上突然开机后登录不上去,用windos验证账户是可以登录进去的,然后试着修改sa账户密码,(sa账户密码忘记了),还是...
  • tudou23115
  • tudou23115
  • 2016年06月03日 14:29
  • 455

创建对于用户sa失败,sa无法映射到数据库

sa无法映射到数据库 在给sql server中的用户"sa"映射到一个数据库的时候,报错: 创建 对于 用户"sa"失败 执行T-SQL语句或批处理时发生了异常。 无法使用特殊主体“sa” ...
  • xgf415
  • xgf415
  • 2016年05月12日 11:43
  • 4085

【转】SQL2008的sa账户被禁用,其他账户无法连接的解决方法

或者你还有其它的sysadmin权限的账号,你可以用此账号登录,重置SA密码。 但是在以下情况下,怎么办呢? 1. SA密码丢失或者SA账号被禁用。 2. 你进行了一些安全操作,把BuiltinAdm...
  • u014235355
  • u014235355
  • 2014年11月11日 09:51
  • 1419

SQL_Server_2012修改sa密码的方法

转载自:http://lichunlong2008.blog.163.com/blog/static/310725492012102532530995/   1、 先用Window身份验证方式登陆...
  • sinat_29581293
  • sinat_29581293
  • 2016年05月11日 18:45
  • 10101

SQL Server中,搭建本地数据库服务,使用sa账户登录失败解决方法

首先选择【Windows身份验证】模式连接数据库引擎。 在建立的连接上右键单击,选择【属性】,进入【服务器属性】界面。在左侧选择页中点击【安全性】,然后在右侧安全性设置界...
  • u012138032
  • u012138032
  • 2016年12月23日 14:14
  • 1736

SQL_Server_2008修改sa密码的方法

转载自:http://lichunlong2008.blog.163.com/blog/static/310725492012102532530995/   1、 先用Window身份验证方式登陆...
  • Templar1000
  • Templar1000
  • 2014年03月01日 12:25
  • 33871

数据库学习感悟

这学期的课还蛮有意思的,数据库按往常来说会开成access,不过老师比较有趣,直接给我们开SQL,说是同时把两门学会,数据库的课每周有一次,三节小课连上,我听得还算认真把。反正就是一直在认真听,没有多...
  • probon
  • probon
  • 2016年04月12日 23:23
  • 758
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MS SQL数据库SA权限入侵的感悟
举报原因:
原因补充:

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