网络安全 频道

MSSQL注入攻击的防护

Mssql注入攻击是比较直接和危害比较大的一种攻击方式,那些所谓的黑客们能够利用它直接取得系统权限。今天我们就来看看如何通过系统设置防止这种攻击:
首先要申明的是,并不是通过这个设置就能保证你的服务器的安全,安全是一个整体,然而整体又正是由这些部分构成的!
对策一:
黑客
假设这个地方可以注入
http://localhost/bbs/news.asp?id=5
我们往往采取下面这种方法来攻击
http://localhost/bbs/news.asp?id=5;exec master.dbo.xp_cmdshell ‘net user alpha /add'---

http://localhost/bbs/news.asp?id=5;exec master.dbo.xp_cmdshell ‘net loclagroup administrators alpha /add'---

好了,alpha已经是系统管理员了!
管理者:
如何防止呢?
看看他们是怎么实现的,通过调用SQL里的master里的扩展存储过程里的xp_cmdshell,(如下图),来执行系统指令!

我们只要点右键删除这个扩展存储,上面的攻击方法便不起作用了!
当然你也可以用下面这句:
sp_dropextendedproc 'xp_cmdshell'
来删除xp_cmdshell



对策二:
黑客对策,如果MSSQL数据库里xp_cmdshell扩展被删掉了,不用怕,我们还有方法的哟!
http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_addextendedproc xp_cmdshell @dllname='xplog70.dll';--
通过这样一条我们就又把xp_cmdshell给恢复了。
管理者:靠,看来我们的设置还不够彻底哟
好,在c盘里直接搜索xplog70.dll
如图

找到了,删了它,好了,这个世界清静了,至少那帮人不会直接执行系统指令了!!
对策三:
黑客:你以为这样就可以了吗?你错了哟,呵呵,我方法还是多多的哟!
只要你用的是sa账户,我就还有方法的哟
http://localhost/bbs/news.asp?id=5;exec xp_regread 'HKEY_LOCAL_MACHINE', 'SECURITY\SAM\Domains\Account', 'F'
看看,说不定我们就能得到管理员的密码哟!
加一个启动项什么的自然不在话下。
管理者:
看来我得下狠的了,看我这样,我把这些扩展都删除了
Xp_regaddmultistring (向注册表中增加项目)
Xp_regdeletekey (从注册表中删除一个键)
Xp_regdeletevalue (从注册表中删除一个键值)
Xp_regenumvalues (列举主键下的键值)
Xp_regread (读去一个主键下的键值)
Xp_regremovemultistring (从注册表中删除项目)
Xp_regwrite (向注册表中写入数据)
看你嚣张,呵呵,想从注册表里面搞,没门!
对策四:
黑客
不让搞注册表就算了,我可以搞别的地方的哟!我加一个sql的管理员还不行吗?
真是的!
http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_addlogin alpha;--
http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_password null,alpha,alpha;--
http://localhost/bbs/news.asp?id=5;exec master.dbo.sp_addsrvrolemember sysadmin alpha;--
看看,说不定那天等xp_cmdshell能用了,我就又是管理员了呢!
管理者:
算了,我不跟你罗嗦了,我不用sa连接数据库还不行?
我建一个权限低一点的账户,比如说建立一个名为 bbs的数据
然后建一个 名为bbs的账户

确定然后我们再去bbs的用户下中设置一下:
给他分配一些基本的权限就可以了,

好了,如果用这个用户来连接bbs数据库,相对于用sa来说安全多了哟!
定期检查用户登录情况
Use master
Select name,Password,Accdate
from syslogins
order by name

今天就说到这里了!
其实MSSQL的注入攻击防御还有很多很多东西哟!
比如导出特殊文件,破解网站密码,太多太多了,今天就简单给大家介绍这些
甚至我要说,即使你按这个设置了,你的系统还是危险的,还是脆弱的!
0
相关文章