注入攻击是当前黑客们最为流行的攻击方式,同时也是对于企业网络管理员来说是一个巨大的安全威胁,那么如何防注入又成为了管理员们所关心的问题。本文就通过JSP防注入代码编译程序从而防止这个问题。
sql_inj.java代码:
=================================
packagesql_inj;
importjava.net.*;
importjava.io.*;
importjava.sql.*;
importjava.text.*;
importjava.lang.String;
publicclasssql_inj{
publicstaticbooleansql_inj(Stringstr)
{
Stringinj_str=“'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,”;//这里的东西还可以自己添加
String[]inj_stra=inj_str.split(“\\|”);
for(inti=0;i<inj_stra.length;i++)
{
if(str.indexOf(inj_stra[i])>=0)
{
returntrue;
}
}
returnfalse;
}
}
===================================
JSP页面判断代码:
===================================
<jsp:useBeanid=“sql_inj”class=“sql_inj.sql_inj”scope=“page”/>
<%
Stringcurrenturl=request.getRequestURI()+(request.getQueryString()==null?“”:(“?”+request.getQueryString()));
if(sql_inj.sql_inj(currenturl)){//判断url及参数中是否包含注入代码,是的话就跳转到某页。
response.sendRedirect(“/”);
return;
}
//out.println(currenturl);
%>
以上就是通过JSP代码防注入的程序。
【编辑推荐】