• WAP手机版 RSS订阅 加入收藏  设为首页
当前位置:首页 > 执迷古镇

免费asp空间彻底解决asp注入漏洞

时间:2015/2/27 21:55:28  作者:我本沉默  来源:www.pkmir2.com  查看:515  评论:0
内容摘要:本人最近研究彻底解决asp注入漏洞的方法!希望大家多提建议原理,就是象java一样使用preparestatement.下面例子连接的是sql server数据库代码如下:PrepareSql.asp<%' 定义数据库操作常量Const adStateClosed = 0C...
本人比来研究彻底解决asp注入漏洞的办法!欲望除夜家多提建议
事理,就是象java一样应用preparestatement.
下面例子连接的是sql server数据库
代码如下:
PrepareSql.asp
<%
' 定义数据库操作常量
Const adStateClosed = 0
Const adOpenForwardOnly = 0, adOpenKeyset = 1, adOpenDynamic = 2, adOpenStatic = 3
Const adLockReadOnly = 1, adLockPessimistic = 2, adLockOptimistic = 3, adLockBatchOptimistic = 4
Const adCmdText = 1, adCmdTable = 2, adCmdStoredProc = 4, adExecuteNoRecords = 128
Const adBigInt = 20, adBoolean = 11, adChar = 129, adDate = 7, adInteger = 3, adSmallInt = 2, adTinyInt = 16, adVarChar = 200
const adParamInput = 1, adParamOutput = 2, adParamInputOutput = 3, adParamReturnValue = 4
%>
<%Class PrepareSQL
Private cmdPrep
Private m_String
Private m_Sql
Private m_conn
public function setconn(conn)
set m_conn=conn
end function
Public Function prepare(sql)
set cmdPrep=nothing
SET cmdPrep=Server.CreateObject("ADODB.Command")
set cmdPrep.ActiveConnection=m_conn
cmdPrep.CommandText =sql
End Function
Public Function setInt(theValue )
cmdPrep.Parameters.Append cmdPrep.CreateParameter("", adInteger, adParamInput,, theValue)
End Function
Public Function setDate(theValue )
cmdPrep.Parameters.Append cmdPrep.CreateParameter("", adVarChar, adParamInput, 100, theValue)
End Function
Public Function setBoolean(theValue )
cmdPrep.Parameters.Append cmdPrep.CreateParameter("", adBoolean, adParamInput, 1, theValue)
End Function
Public Function setString(theValue )
if(len(theValue)=0 )then

cmdPrep.Parameters.Append cmdPrep.CreateParameter("", adVarChar, adParamInput, 1, theValue)
else
cmdPrep.Parameters.Append cmdPrep.CreateParameter("", adVarChar, adParamInput, lenb(theValue), theValue)
end if
End Function
Public Function execute()
set execute=cmdPrep.Execute
End Function
End Class%>

test.asp


<%
Dim ps
Dim cn
set cn=server.CreateObject("adodb.connection")
Dim strcn
strCn="driver={SQL server};server=127.0.0.1;uid=sa;pwd=test;database=PUBS"
cn.Open strCn
set ps=new PrepareSql
ps.setconn cn
ps.prepare "select * from user where id =?"
ps.setint 1
set rs=ps.execute
%>

本人比来研究彻底解决asp注入漏洞的办法!欲望除夜家多提建议
事理,就是象java一样应用preparestatement.
下面例子连接的是sql server数据库
代码如下:
PrepareSql.asp

test.asp

©2009-2016 pkmir2.com 版权所有 www.pkmir2.com 湘ICP备2022024766号-1

本站声明:本站所有技术资料与资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信xiov壹壹壹#qq.com指出,本站将立即改正

©CopyRight 2009-2012, 我本沉默传奇,我本沉默发布网,嘟嘟传奇,仙剑传奇,秋风传奇,情缘传奇,执迷古镇 网站地图 Inc.All Rights Reserved