哪位有ASP写的SQL注入测试用例?
想搭个SQL注入的测试环境,最好是ASP+MSSQL2000的页面文件,不需要太复杂,一个页面的也行。哪位有共享一下。
谢谢!
------解决方案--------------------<% set rs=conn.execute("select * from t where name='" + request("name") + "' and pwd='" + request("pwd") + "'") %>
<input type="text" name="name" value="" />
输入'; delete from t;select '1 这样就攻击了 要不输入个'就能找到漏洞了.....
------解决方案--------------------asp写的sql注入检测程序
闲着没事,写了段sql注入检测程序,虽然还有一些地方待完善,但基本能检测并清除被注入的危险代码,
sql2000,access2003经过了测试。
<" CODEPAGE="936"%>
<!--#include file="inc/conn.asp"-->
<%
''表检测程序
''==========================================================================================
Sub MonTB()
Set rs=conn.OpenSchema(20)
rs.MoveFirst
xz=""
For i=1 to rs.RecordCount
If rs("TABLE_TYPE")="TABLE" Then
If rs("TABLE_NAME")=Request.Form("tbname") Then
Session("jz")=i
End If
jz=Session("jz")
If jz="" Or IsNull(jz) Then
Else
If i=jz+1 Then
xz="selected"
End If
End If
Response.Write("<option value='"&rs("TABLE_NAME")&"' "&xz&">"&rs("TABLE_NAME")&"</option>")
xz=""
End If
rs.Movenext
Next
rs.Close
Set rs=Nothing
Session("tbnum")=i
End Sub
''============================================================================================
''sql注入检测程序
Sub MonitorSql(tb)
Dim m,lrs,i,lieNum,jcstr
Set lrs=server.CreateObject("adodb.recordset")
lrs.Open "SELECT * FROM "&tb,conn,2,2,1
m=0
If lrs.Bof And lrs.Eof Then
Else
Set lie= lrs.Fields
lieNum=lie.Count
Do While Not lrs.Eof
For i=0 To lieNum-1
If IsNull(lie(i).Value) Or lie(i).Value="" Then
Else
jcstr=Lcase(lie(i).Value)
If InStr(jcstr,".js") Or InStr(jcstr,"script") Or InStr(jcstr,"iframe") Then
If Instr(sqlstr,lrs(i).Name)Then
Else
m=m+1
&n