网络安全 频道

Web网站程序编写中的安全软肋

    (4 )mdb数据库改用ASP\ASA等名字作为数据库扩展名

    自从网上出现了下载默认数据库文件进行密码爆破,从而得到后台权限的入侵例子,很多站长开始盲目的跟随改数据库文件名的潮流,将mdb数据库改为asp或asa在过去确实可以防止下载,但是后来网上陆续出现了各种下载软件支持下载asp文件,人们可以下载完后改名得到数据库。

    数据库被下载还不是最可怕的,一个asp扩展名的数据库在构造一句话木马的时候利用价值是非常大的,入侵者可以在任何可以对数据库写入数据的地方像数据库写入精心构造的一句话木马,成功写入只要寻找一个具有写权限的目录,即可生成一个webshell,当然这样的问题只存在于数据库路径已知、存在暴库漏洞、后台允许备份数据库为指定文件名等情况下,那么防止数据库被下载的办法有如下几种:

    1.给数据库名称添加特殊符号 例如:#@$database.mdb
    2.修改数据库扩展名 例如:database.jsp(前提是你的服务器不支持jsp否则将可能被利用来构造一句话木马)
    3.将数据库放到网站上层目录,然后使用绝对路径进行调用,现在很多空间提供商都提供这样的功能
    例如:网站目录D:\www\test\wwwroot,上层路径存在一个专门用来存放数据库的文件夹database,那么在数据库调用时候使用D:\www\test\database\database.mdb,这样只要数据库文件不在网站当前目录下,入侵者就无法下载了。
    4.为数据库添加一个新表,表里的内容是十六进制数据:3C25206C6F6F70203C25
也就是<% loop <%,这个时候如果往数据库里添加一句话,企图备份为asp的话,就会出现错误

 
    但是这个办法并不是绝对安全的,所谓“上有政策下有对策“。这个办法很快就被破解了,破解的办法是:构造语句
<%'<% loop <%:%>,只要我们在数据库里的两个地方合适地插入<%'和:%>即可将loop的防下载给过滤掉,所以为了更好的保护我们的数据库,我个人建议网站编写者最好在数据库里添加loop防下载代码,同时提醒用户修改数据库默认名称并将数据库放到网站的上层目录中。

    (5 )后台显示数据库路径
    现在有很多网站程序后台有带类似asp探针一类的功能,可以显示网站的绝对路径以及数据库的文件名称,这个功能对于一个网站建设者来说没有什么实用价值,到是它给入侵者带来的价值更高。很多时候知道网站路径即可进行跳转和写入木马,而知道数据库路径的话问题更为严重:可以下载数据库获取更多信息和客户资料、运气好的话还可以写入一句话木马。
所以后台显示网站路径及数据库路径和名称这个功能尽量避免使用。

    (6 )数据库可备份修改扩展
    备份数据库——一个典型的获取webshell的办法,通过上传一个jpg或者其他格式的木马,然后通过备份得到一个asp、php、jsp的webshell,所以现在很多网站程序在备份的时候都是由系统自动生成的文件名,不允许用户自定义。其实数据库备份这个功能完全不必要,加入网站被删除,数据库肯定会被黑客删除。最好的备份方式是自己手工备份到本地电脑。

0
相关文章