ASP实现网页安全代码
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20. [2] 蒋东兴,林鄂华. Windows Sockets 网络程序设计大全. 北京:清
华大学出版社,1999 : 86-89. [3] 张忠保. 高校网络教育和远程教育的系统规划与建设. 北京:
教育学报,2008:12-0027-03. [4] 钟玉琢. MPEG 运动图像压缩编码标准 ISO / IEC 11172. 北京:
code of ASP and the safe measures of database.
Keyword: ASP Safe Code SQL Injection
Guess a Solution Encrypt
ACCESS Database
网站的安全范畴十分广泛,但良 if (rs.EOF) then
le1″> C.<%=rs(″选项 3″)%> <input type=″radio″ value=″D″ name=″se- le1″> D.<%=rs(″选项 4″)%> <input type =″ hidden″ name =″ xzxx51″ val- ue=″<%=rs(″正确答案″)%>″>
机械工业出版社,1998:45-86. [5] 梁永忠. 基于.NET 的流媒体技术的远程教学系统设计研究[D].
加到实时服务的客户列表中,对新文件客户的请求,则创建
成都:电子科技大学学位论文,2006.
收稿日期:2009-07-23 *刘海涛 新造职业技术学校计算机中学一级(广州,番禺 511436)。
表面上的并发性,方法是依靠执行多个线程,每个线程处理 一个新 RTP 文件服务线程和一个新 RTCP 文件服务线程,
一个请求,从客户的角度看,服务器就像在并发地与多个客 对已在服务中的客户则根据 RTCP 报告的内容调整服务。
户通信。
流媒体技术的应用日益广泛,对流媒体技术的研究具
由于流媒体服务时间的不定性和数据交互实时性的请 有很大的实际意义,本文通过对 RTP/RTCP 协议的研究,分
面。但是如果输入一些特殊的字符,构 造特殊 SQL 语句,则可以成功登陆。例 如用户名和密码都输入 a’or‘1’=’1 (a 为任意),则 SQL 语句变成 Select 觹 from admin where 账 号 =‘a’ or ‘1’='1'and 密码=‘a’or‘1’=‘1’即
mid|exists|nchar|count|or″ sql_inf =split(sql_in,″|″) If Request.Form<>″″ Then For Each sql_post In Request.Form For i=0 To Ubound(sql_inf) If Instr(LCase(Request.Form(sql_post)),
件数据的文件客户两类。主要算法为: (1)打开设备,分配资源。当设备准备好时,创建一个
RTP 实时服务线程和一个 RTCP 实时服务线程。 (2)创建一个 UDP 套接字并将其绑定到所提供服务
的地址之上。 (3)反复调用接收模块,接收来自客户的 RTCP 报告,
根据其类型做出响应。对新实时客户的请求,把客户地址添
以上如果攻击者先用一个合法账 号,或者在本机上生成一个 session(″ system_name″)=″ admin″ , 都 可 以 绕 过 验证直接进入管理员页面。防止 SESSION 猜解,一般可以加一个 ses- sionID,如下:session (″system_name″ &session.sessionID), sessionID 是 64 位随机数,难以猜到。另外,可跟踪上 一个页面的文件名,只有从上一页转 进来的话,才能读取这个页面。 If instr (request.servervariables (″http_ref- erer″ ),″ http://″ &request.servervariables (″ SERVER_NAME″))<>1 then Response.write ″ <script language = javascript >alert (' 站 外 非 法 数 据 '); </ script>″ Response.redirect ″index.asp″ End if Xxx=request.servervariables(″http_referer″) If Right(xxx,9)<>″index.asp″ then Response.write″ <script language =javascript > alert(' 非法文件 ');</script>″ Response.redirect ″index.asp″ End if
3 防止源代码泄露数据
考试在线判卷的试卷代码: <input type=″radio″ value=″A″ name=″se- le1″> A.<%=rs(″选项 1″)%> <input type=″radio″ value=″B″ name=″se- le1″> B.<%=rs(″选项 2″)%> <input type=″radio″ value=″C″ name=″se-
则查看留言的人只要移动鼠标到 “特大新闻”上,用户的浏览器因死循 环而死掉。或者输入如下一句,就可以 挂木马了。 <iframe src =http://www. 木 马 .com/muma.html width=0 height=0></iframe>
解决以上的方法就是写一个函 数,替换一些特殊字符,如下: <% function CHK(fqyString) fqyString = replace(fqyString,″>″,″&gt″) fqyString = replace(fqyString,″<″,″&lt″) fqyString = replace(fqyString,″&#″,″&″) fqyString = Replace(fqyString,CHR(32),″  ″) fqyString = Replace (fqyString,CHR(9),″  ″) fqyString = Replace(fqyString,CHR(34),″ "″) fqyString = Replace(fqyString,CHR(39),″ '″) fqyString=Replace(fqyString,CHR(13),″″) fqyString = Replace (fqyString,CHR(10) &CHR(10),″</P><P>″) fqyString = Replace(fqyString,CHR(10),″ <BR> ″)
法字符,则退出重新登陆。以下是以 POST 方式提交数据的检测,GET 的方 法也一样。
1 防注入
%>
sql_in =″ ; |and |exec |insert |select |delete |update |
(1)拦截阻止 GET 或 POST 请求
如果存在用户名与密码,则打开 count |觹 |% |chr |mid |master |truncate |char |de-
Байду номын сангаас
rs.open sql,″DSN=...″
使不存在该用户名与密码都可登陆。 sql_inf(i))<>0 Then
......................................................................................................................................
如 果 文 本 框 中 输 入 <font color = red>你好!</font>,则字体变成了红色 字体输出。在留言板中改变字体大小 或贴图有时并不是什么坏事,但如果 输入个死循环,如下: <a href =someurl onmouseover =while (1) 邀window.close('/')妖>特大新闻</a>
信息的非法字符。登陆代码:
数据库记录成功,可以跳转到管理页 clare |=|_execute |exec |union |where |join |chr |
<% user=request(″username″) psd=request(″psw″) sql =″ select 觹 from admin where 账 号 ='″ &user&″' and 密码='″&psd&″'″ set rs=server.createobject(″ADODB.Record- set″)
200 9 年 10 月
电脑学习
第5期
ASP 实现网页安全代码
刘海涛*
摘 要 : 通过典型例子说明 ASP 中实现安全高效的代码。主要包括网页代码及数据库方面的安全实施策略。
关 键 词 : ASP 安全代码 SQL 注入 猜解 加密 ACCESS 数据库
中图分类号: TP393.09 文献标识码: B 文章编号:1002-2422(2009)05-0056-03
· 56 ·
Response.write ″<Script Language=JavaScri- pt>alert(' 警告:请勿提交非法数据!');</ Script>″ Response.End End If Next Next End If
(2)过 滤 、替 换 一 些 特 殊 字 符 屏 蔽 HTML 语句。上面是构造非法 SQL 语句进行注入。对于留言本,同样,如果 不对 HTML 过滤,替换某些字符内容, 也会引起非法应用。例如有如下表单 文本框,对输入的内容作为留言输出: …<input type=text name=data>… Response.write request(″data″)
求,流媒体服务器一般采用并发服务器算法。设计了一个基 析流媒体服务器的一般功能和结构,提出在校园网络环境
本的流媒体服务器,能够同时响应多个用户的请求,把本地 下构建一个基本的流媒体服务器的实现方案。
硬盘流媒体文件或实时数据流(H.263 格式)发送给用户。
参考文献
在应用中,把客户分为请求实时数据的实时客户和请求文 [1] 王宝智. 多媒体宽带网技术. 北京:国防工业出版社,2002:19-
对于这些情况,可以编写一个文
好的设计习惯与安全高效的代码,是 response.redirect ″err.asp″
件,对提交的字符进行检测,如果有非
百毒不侵的基本内功,以下通过一些 切实的典型例子来说明 ASP 实现网页 安全代码。
else response.redirect ″admin.asp″ end if set rs=nothing
CHK = fqyString end function Response.write CHK(request(″data″)) %>
2 防 止 验 证 被 绕 过 或 SESSION 猜解
如果用户知道一个 ASP 页面路径 和文件,而该文件需验证才能进去,但 用户直接输入这个 ASP 页面文件名, 就有可能绕过验证。一般是在需要验 证 的 ASP 页 面 开 头 构 造 一 个 check. asp 文件,包含在页面文件头,加个登 陆判断。如下: If session(″system_name″)=″″ then Response.write″ <script language =javascript > alert(' 未登陆 ');</script>″ Response.redirect ″index.asp″ End if
其中最后一项是题目的正确答 案。如果在浏览器中选择查看—源代 码,则可以看到正确的答案。这是很容 易忽略的问题。代码并没有错,只不过 结果就已经提前告知了。象这样的问 题一般可以对 rs(“正确答案”)的数 据进行加密,接收时再解密即可。或者 答案不在试卷页面,在改卷页面读出, 这样就更安全。
Design and Implementation of Safe Code in ASP
Liu Haitao
Abstract: The paper discusses the design and implementation of safe code in ASP through examples, which includes the safe