news_view.asp 中的 request("id") 参数没有进行任何过滤,直接拿去查询数据库,导致注入漏洞。

news_view.asp:

<%
id = request("id")
Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "select * from news where id="&id
rs.Open sql, conn, 1, 3
If rs.EOF And rs.bof Then
    Response.Write "<script language='javascript'>alert('无效参数值!');document.location.href('news.asp');</script>"
Else
%>

演示:

    /news_view.asp?id=12%20and%201=2