'Dim ParaValue
'ParaValue=Request(ParaName)å‡½æ•°é‡Œé¢æ˜¯ä¸è¦åР引å·
If ParaType=1 then
If not isNumeric(ParaValue) then
Response.write " 傿•°" & ParaName & "必须为数å—åž‹åQ?
Response.end
End if
Else
ParaValue=replace(ParaValue,"'","")
ParaValue=replace(ParaValue,";and 1=1","")
ParaValue=replace(ParaValue,";and 1=2","")
ParaValue=replace(ParaValue,";and user>0","")
ParaValue=replace(ParaValue,">","")
ParaValue=replace(ParaValue,"<","")
ParaValue=replace(ParaValue,"=","")
ParaValue=replace(ParaValue,"count","")
ParaValue=replace(ParaValue,"select","")
ParaValue=replace(ParaValue,"drop","")
ParaValue=replace(ParaValue,"delect","")
ParaValue=replace(ParaValue,"insert","")
ParaValue=replace(ParaValue,"execute","")
ParaValue=replace(ParaValue,"update","")
ParaValue=replace(ParaValue,"mid","")
ParaValue=replace(ParaValue,"exec","")
ParaValue=replace(ParaValue,"master","")
ParaValue=replace(ParaValue,"char","")
ParaValue=replace(ParaValue,"declare","")
ParaValue=replace(ParaValue,"*","")
ParaValue=replace(ParaValue,"%","")
ParaValue=replace(ParaValue,"chr","")
ParaValue=replace(ParaValue,"truncate","")
End if
SafeRequest=ParaValue
End function
'调用方å¼
DirID=Request("DirID")'///æ•°æ®ç›®å½•åç§°å‚æ•°/æ— åˆ™è¡¨ç¤ºå…¨éƒ¨æ•°æ®
DirID=SafeRequest(DirID,1)
Dim SQL_inbreakstr
SQL_inbreakstr = "'|or|and|exec|insert|select|delete|update|drop|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inbreak = split(SQL_inbreakstr,"|")
R_Q=Request.QueryString
R_F=Request.Form
IF R_Q<>"" THEN
For i=0 To Ubound(SQL_inbreak)
IF instr(R_Q,SQL_inbreak(i))>0 THEN
Response.Write "*****"
Response.End
END IF
Next
End IF
IF R_F<>"" THEN
For i=0 To Ubound(SQL_inbreak)
IF instr(R_F,SQL_inbreak(i))>0 THEN
Response.Write "*****"
Response.End
END IF
Next
END IF
<%
'--------版æƒè¯´æ˜Ž------------------
'SQL通用防注入程åº?V2.0 完美ç‰?BR>'本程åºç”± ç«ç‹-枫知¿U?独立开å?BR>'å¯ÒŽœ¬½E‹åºæœ‰ä“Q何疑问请è”系本äh
'QQ:613548
<%
Fy_Inf = split(Fy_In,"æž?)
'--------POST部䆾------------------
If Request.Form<>"" Then
For Each Fy_Post In Request.Form
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
'--------写入数æ®åº?------å¤?-------
Fy_dbstr="DBQ="+server.mappath("SqlIn.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set Fy_db=Server.CreateObject("ADODB.CONNECTION")
Fy_db.open Fy_dbstr
Fy_db.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&Fy_Post&"','"&replace(Request.Form(Fy_Post),"'","''")&"')")
Fy_db.close
Set Fy_db = Nothing
'--------写入数æ®åº?------ž®?-------
Response.Write "<Script Language=JavaScript>alert('枫网SQL通用防注入系¾lŸæ½Cºâ†“\n\n请ä¸è¦åœ¨å‚æ•°ä¸åŒ…å«éžæ³•å—½W¦å°è¯•注入ï¼\n\nHTTP://WwW.WrSkY.CoM ¾pÈ»Ÿç‰ˆæœ¬:V2.0(ASP)完美ç‰?);</Script>"
Response.Write "éžæ³•æ“作åQç³»¾lŸåšäº†å¦‚下记录↓<br>"
Response.Write "æ“作åQ©ï¼°åQ?&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "æ“作旉™—´åQ?&Now&"<br>"
Response.Write "æ“作™åµé¢åQ?&Request.ServerVariables("URL")&"<br>"
Response.Write "æäº¤æ–¹å¼åQšï¼°åQ¯ï¼³åQ?lt;br>"
Response.Write "æäº¤å‚æ•°åQ?&Fy_Post&"<br>"
Response.Write "æäº¤æ•°æ®åQ?&Request.Form(Fy_Post)
Response.End
End If
Next
Next
End If
'----------------------------------
'--------GET部䆾-------------------
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
''--------写入数æ®åº?------å¤?-------
Fy_dbstr="DBQ="+server.mappath("SqlIn.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set Fy_db=Server.CreateObject("ADODB.CONNECTION")
Fy_db.open Fy_dbstr
Fy_db.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','GET','"&Fy_Get&"','"&replace(Request.QueryString(Fy_Get),"'","''")&"')")
Fy_db.close
Set Fy_db = Nothing
'--------写入数æ®åº?------ž®?-------
[获得数æ®è¡¨å][ž®†å—ŒDµå€¼æ›´æ–îCؓ表ååQŒå†æƒÏx³•è¯Õd‡º˜q™ä¸ªå—段的值就å¯å¾—到表å]
通过SQLSERVERæ³¨å…¥æ¼æ´žå»ºæ•°æ®åº“½Ž¡ç†å‘˜å¸å·å’Œ¾pÈ»Ÿ½Ž¡ç†å‘˜å¸å·[当å‰å¸å·å¿…须是SYSADMIN¾l„]
䏋颿˜¯å¦‚ä½•ä»Žä½ çš„æœå™¨ä¸‹è²æ–‡äšgfile.exeåŽè¿è¡Œå®ƒ[å‰ææ˜¯ä½ å¿…é¡»ž®†ä½ 的电脑设为TFTPæœåŠ¡å™¨ï¼Œž®?9ç«¯å£æ‰“å¼€]
|
import java.sql.*;
import java.util.*;
import fibernews.framework.db.*;
import fibernews.beans.Employee;
import fibernews.util.function.HandleString;
import fibernews.framework.logging.Logger;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ListEmpAction extends Action {
List list ;
public String process(HttpServletRequest request, HttpServletResponse response) {
Connection conn=DBHelper.getConnection();
Statement st=null;
PreparedStatement pst=null;
ResultSet rs=null ;
String query=HandleString.toChinese(request.getParameter("query"));
if ((query==null)||query.trim().equals("")) query="lmsun";
try{
String sql="select * from employee_email where name like '%"+query+"%' or email like '%"+query+"%'" ;
//st=conn.createStatement();
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
list=new ArrayList();
Employee emp;
while (rs.next()){
emp=new Employee();
emp.setId(rs.getString("id"));
emp.setEmployee_bh(rs.getString("employee_bh"));
emp.setName(rs.getString("name"));
emp.setEmail(rs.getString("email"));
emp.setDepartment1(rs.getString("department1"));
emp.setDepartment2(rs.getString("department2"));
emp.setDepartment3(rs.getString("department3"));
list.add(emp);
}
}
catch (Exception e) {
System.out.println("Error Connecting to catalog DB: " + e.toString());
}
finally {
DBHelper.close(rs,pst,conn);
}
request.setAttribute("empList",list);
return "/intra/query/emailbook.jsp";
}
public static void main(String[] args)
{
ListEmpAction empaction = new ListEmpAction();
System.out.print("End");
}
}