ASP+ACCESS的防范
文本Tag:
技术
今天无聊,在百度里找了下"ASP安全",结果却查到N多入侵的教程,而安全配置的资料相对较少.介于目前多数文章都是教怎么入侵,这里我就讲一下,把自己如何防护的方法说一下.希望能引出更多安全防范主面的讨论.
我们现在假设是ASP整站系统+ACCESS数据库的情况,我讲一下ASP+ACCESS的组合,如果有表达错误的地方,希望大家批评指正!
------------------------------------------------
步骤一:第一个应用是管理员登陆时报密码校验了,如输入1'or'1'='1等就可直接进入管理员页面.虽说这个漏洞很老了,但目前存在这个漏洞的系统很多,尤其是新闻系统,二年前开发的ASP程序基本都存在这个漏洞.其实,只要把"
' "用别的符号代替就可避免类似错误.
------------------------------------------------
步骤二:第二个是大家用得很熟的对于参数过滤不严而导致的跨表查询,如x.asp?id=2 and
1=1,很多人都知道怎么攻击,却不知道如何堵住这漏洞,这倒是个奇怪的现象.即然是由于ID参数没有过滤引起的攻击,那我们就应在出现漏洞的那个页面中加入这样一段代码:
如果你愿意,可把进行类似攻击的人重定向到别的页面去,这里就不多说了.
-------------------------------------------------
步骤三:session认证不得不说是个对付cookie伪造的好方法,而且可严格根据用户的级别使用户进入相应页面,具体可参照动网的后台验证代码.
-------------------------------------------------
步骤四:把数据库进行MD5加密.下载回来的ASP源程序有多半是没有加密的.密码明文躺在那儿,看着怪不舒服的.为了你的安全,别懒了,动手吧!
(1)从动网那里拉个MD5.asp过来.作为加密数据库用.
(2)然后在你的用户登陆页面最上边插入这样一句:
(3)接着找到大概这样一句话:pass=request("pass"),把它改成pass=md5(request("pass")).这样一来,你的数据库就算被下载了,也有一段时间要对方破解,如果你的密码够强壮,那你就嘿嘿地笑吧!由于采用session认证防止了cookie伪造,所以安全系数又加强了很多.
-------------------------------------------------
步骤五:数据库防下载.
首先,在你的MDB文件中建一个表,表中取一个字段名,随便叫什么,接着在表里建一个字段,字段中填入,最后在数据库名前加个"#".个人认为,这样更改应该相对比较安全了.当然,也不能保证绝对安全,现在的网络,牛人太多.说不定文章出来时已经又有别的方法下载了.
-------------------------------------------------
步骤六:post攻击
常见的是把登录页面拉到自己本地中,然后修改一些参数再次提交.如果你的全部数据过滤都在表单上,那么你就可以遇上不幸.常见的例子就是留言本,可进行post提交数据.那么如何防止呢?下面的一段代码可检查对方提交的URL是否来自外部:
server_v2 then
response.write
"不要从站点外提交参数"
response.end
end if
%>
----------------------------------------------------
步骤七:文件上传.
防止这个漏洞.加上这样一段代码就可以了:
if instr(request("formpath","."))>0
then response.write "漏洞已补" :response.end
-----------------------------------------------------
今天的课程.是看到网站有很多网站.被更改了页面,才写的!
个人认为,找漏洞是好事,但找出后何必把人家改得面目全非呢?当然,我们没本事叫人家不改,所以只有先动手改自己了:)
今天的课程.有的地方不是很完美,希望大家把我没说好的地方补全!
-----------------------------------------------------
中国网络安全协会
主站:http://http://www.zjjv.com//
论坛:http://http://www.zjjv.com//