浅谈对数据库的攻击(续)
2015-09-12来源:易贤网

突破script的限制。

例如,某网页上有一文本框,允许你输入用户名称,但是它限制你只能输入4个字符。许多程序都是在客户端限制,然后用msgbox弹出错误提示。如果你攻击时需要突破此限制,只需要在本地做一个一样的主页,只是取消了限制,通常是去掉VBscript或IavaScript的限制程序,就可以成功突破。

如果是javascript做的,干脆临时把浏览器的脚本支持关掉。如果是,所以可以用javascript把它转到其他站点上或做些什么。

如果只是改了端口号就要看程序里数据库用户的权限了,如果是管理用户,可以用' exec master.dbo.xp_cmshell 'net user /add aaa bbb来创建一个操作系统用户,然后再用' exec master.dbo.xp_cmdshell 'net localgroup /add administrators aaa来把它升级为超级用户。

如果这台服务器的NetBIOS绑定了TCP/IP,而且C$、D$等管理共享存在,呵呵,恭喜了,你在DOS命令下用net use Z: \ip address$ "bbb" /user:"aaa"就可以把对方的整个C盘映射为你本地的一个网络驱对器Z:了。

数据库里如何留后门。

创建用户的sp_addlogin、权限分配的sp_addsrvrolemember是用一条语句来判断用户是否有权限执行,也就是说用户都可以执行它,它再来判断用户是否有权执行。

当你攻入一个数据库时可以用它的Enterprise Manager来连上去修改这些存储过程,因为这些存储过程都没有加密。

可以在判断的地方加个条件,当这个条件满足时就不直接执行下去而不管是什么权限的用户调用它。

不过改完要注意,这时它的Type成了User,要想改回可以到sysobjects表中把name为sp_addlogin的一条删除,然后再把没有改过的相同版本的MS SQL Server的同一条记录拷贝进去就可以了。

当然不要忘了这些默认是不能手工修改的,要修改得先把掉SQL Server的参数,改完不要忘了再改回来啊:) 这时只要网站的程序有问题,不管程序中的用户权限如何,你都可以随时创建SQL Server的管理用户。

数据库扫描工具。

ISS DATABASE Scanner

更多信息请查看IT技术专栏

推荐信息