八大法则防范ASP网站漏洞
如何更好的达到防范黑客攻击,自己提一下小我私家意见!第一,免费步伐不要真的就免用度,既然你可以共享原码,那么攻击者一样可以分析代码。如果在细节上注意防范,那样你站点的安全性就大大的进步了。即使呈现了sql injection这样的漏洞,攻击者也不大概顿时拿下你的站点。由于asp的方便易用,越来越多的网站背景步伐都使用asp剧本言语。但是,由于asp本身存在一些安全漏洞,稍不警惕就会给黑客提供无隙可乘。究竟上,安全不仅是网管的事,编程职员也必须在某些安全细节上注意,养成良好的安全习惯,否则会给本身的网站带来宏大的安全隐患。如今,大多数网站上的asp步伐有这样那样的安全漏洞,但如果编写步伐的时间注意一点的话,还是可以制止的。
1、用户名与口令被破解
攻击原理:用户名与口令,每每是黑客们最感兴趣的东西,如果被通过某种方法看到源代码,后果是紧张的。防范技巧:涉及用户名与口令的步伐最好封装在办事器端,只管即便少在asp文件里呈现,涉及与数据库毗连的用户名与口令应赐与最小的权限。呈现次数多的用户名与口令可以写在一个地位比较潜伏的包含文件中。如果涉及与数据库毗连,在理想状态下只给它以执行存储历程的权限,千万不要直接赐与该用户修改、插入、删除记录的权限。
2、验证被绕过
攻击原理:如今必要颠末验证的asp步伐大多是在页面头部加一个果断语句,但这还不敷,有大概被黑客绕过验证直接进入。
防范技巧:必要颠末验证的asp页面,可跟踪上一个页面的文件名,只要从上一页面转出去的会话才气读取这个页面。
3、inc文件泄露问题
攻击原理:当存在asp的主页正在制作且没有举行最后调试完成以前,可以被某些搜索引擎机动追加为搜索东西。如果这时间有人使用搜索引擎对这些网页举行查找,会得到有关文件的定位,并能在欣赏器中检察到数据库地点和布局的细节,并以此揭示完整的源代码。
防范技巧:步伐员应该在网页发布前对它举行彻底的调试;安全专家则必要加固asp文件以便内部的用户不能看到它们。起首对.inc文件内容举行加密,其次也可以使用.asp文件代替.inc文件使用户无法从欣赏器直接观看文件的源代码。inc文件的文件名不要使用体系默认的大概有特殊含义容易被用户推测到的名称,只管即便使用无规矩的英笔墨母。
4、主动备份被下载
攻击原理:在有些编辑asp步伐的东西中,当创立大概修改一个asp文件时,编辑器主动创立一个备份文件,比如:ultraedit就会备份一个.bak文件,如你创立大概修改了some.asp,编辑器会主动生成一个叫some.asp.bak文件,如果你没有删除这个bak文件,攻击者可以直接下载some.asp.bak文件,这样some.asp的源步伐就会被下载。
防范技巧:上传步伐之前要仔细查抄,删除不须要的文档。对以bak为后缀的文件要分外警惕。
5、特殊字符
攻击原理:输出框是黑客使用的一个目的,他们可以通过输出剧本言语等对用户客户端形成损坏;如果该输出框涉及数据盘问,他们会使用特殊盘问语句,得到更多的数据库数据,乃至表的全部。因而必须对输出框举行过滤。但如果为了进步效率仅在客户端举行输出合法性查抄,仍有大概被绕过。
防范技巧:在处置惩罚雷同留言板、bbs等输出框的asp步伐中,最好屏蔽失html、javascript、vbscript语句,如无特殊要求,可以限定只容许输出字母与数字,屏蔽失特殊字符。同时对输出字符的长度举行限定。并且不光要在客户端举行输出合法性查抄,同时要在办事器端步伐中举行雷同查抄。
6、数据库下载漏洞
攻击原理:在用access做背景数据库时,如果有人通过种种方法晓得大概猜到了办事器的access数据库的路径和数据库名称,那么他也能够下载这个access数据库文件,这黑白常危险的。
防范技巧:
(1)为你的数据库文件名称起个庞大的非常规的名字,并把它放在几层目次下。所谓 “非常规”, 打个比方说,比如有个数据库要保存的是有关册本的信息, 可不要给它起个“book.mdb”的名字,而要起个怪怪的名称,比如d34ksfslf.mdb, 并把它放在如./kdslf/i44/studi/的几层目次下,这样黑客要想通过猜的方法得到你的access数据库文件就难上加难了。
(2)不要把数据库名写在步伐中。有些人喜欢把dsn写在步伐中,比如:
dbpath = server.mappath(“cmddb.mdb”)
conn.open “driver={microsoft access driver (*.mdb)};dbq=” & dbpath
倘使万一给人拿到了源步伐,你的access数据库的名字就一清二楚了。因而建议你在odbc里设置数据源,再在步伐中这样写:
conn.open“shujiyuan”
(3)使用access来为数据库文件编码及加密。起首在“东西→安全→加密/解密数据库”中选取数据库(如:employer.mdb),然后按确定,接着会呈现“数据库加密后另存为”的窗口,可存为:
“employer1.mdb”
要注意的是,以上的行动并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防备别人使用另外东西来检察数据库文件的内容。接上去我们为数据库加密,起首翻开颠末编码了的 employer1.mdb,在翻开时,选择“独占”方法。然后选取功能表的“东西→安全→设置数据库密码”,接着输出密码即可。这样即使别人得到了employer1.mdb文件,没有密码他也是无法看到 employer1.mdb中的内容。
7、防范长途注入攻击
这类攻击在以前应该是比较常见的攻击方法,比如post攻击,攻击者可以任意的改变要提交的数据值已达到攻击目的。又如:cookies 的伪造,这一点更值得惹起步伐编写者或站长的注意,不要使用cookies来做为用户验证的方法,否则你和把钥匙留给贼是统一个道理。
比如:
if trim(request. cookies ("uname"))="fqy" and request.cookies("upwd")
=”fqy#e3i5.com” then
……..more………
end if
我想各位站长大概是喜好写步伐的朋友千万别出这类错误,真的是不可宽恕。伪造cookies 都多少年了,你还用这样的就不能怪别人跑你的密码。涉及到用户密码大概是用户登岸时,你最好使用session 它才是最安全的。如果要使用cookies就在你的cookies上多加一个信息,sessionid,它的随机值是64位的,要猜解它,不大概。例:
if not (rs.bof or rs.eof) then
login="true"
session("username"&sessionid) = username
session("password"& sessionid) = password
'response.cookies(“username”)= username
'response.cookies(“password”)= password
上面我们来谈谈如何防范长途注入攻击,一样平常的攻击都是将单表提交文件拖到本地,将form action=”chk.asp” 指向你办事器中处置惩罚数据的文件即可.如果你全部的数据过滤都在单表页上,那么祝贺你,你将已经被剧本攻击了.怎样才气制止这样的长途攻击?好办,请看代码如下:步伐体(9)
<%
server_v1=cstr(request.servervariables("http_referer"))
server_v2=cstr(request.servervariables("server_name"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<br><br><center>"
response.write " "
response.write "你提交的路径有误,克制从站点内部提交数据请不要乱改参数!"
response.write "
"
response.end
end if
%>
小我私家感觉上面的代码过滤不是很好,有一些内部提交居然还能大公至正的出去,于是再写一个。这个是过滤结果很好,建议使用。
if instr(request.servervariables
("http_referer"),"http://"&request.servervariables("host") )<1 then
response.write "处置惩罚 url 时办事器上堕落。如果您是在用任何本领攻击办事器,那你应该光荣,你
的所有操作已经被办事器记录,我们会第临时间通知公安局与国度安全部分来调查你的ip. "
本以为这样就万事大吉了,在表格页上加一些限定,比如maxlength啦,等等……但天公便是那么不作美,你越怕什么他越来什么。你别忘了,攻击者可以突破sql注入攻击时输出框长度的限定。写一个socket步伐改变http_referer?我不会,网上发表了这样一篇文章:
------------len.reg-----------------
windows registry editor version 5.00
[hkey_current_user\software\microsoft\internet explorer\menuext\扩展(&e)]
@="c:\documents and settings\administrator\桌面\len.htm"
"contexts"=dword:00000004
-----------end----------------------
-----------len.htm------------------
----------end-----------------------
用法:先把len.reg导入注册表(注意文件路径)然后把len.htm拷到注册表中指定的地方。翻开网页,光标放在要改变长度的输出框上点右键,看多了一个叫扩展的选项了吧单击搞定! 后记:异样的也就可以对付那些限定输出内容的剧本了。怎样办?我们的限定被饶过了,所有的努力都白搭了?不,举起你de键盘,说不。让我们连续回到剧本字符的过滤吧,他们所举行的注入无非便是举行剧本攻击。我们把所有的精神全都用到action以后的页面吧,在chk.asp页中,我们将合法的字符全部过滤失,结果如何?我们只在前面虚晃一枪,叫他们去改。
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|