1.如何判断是否存在SQL注入以及注入类型?
2.[php]$email=$_POST['email'];$sql="insert into t_user(username,password,email,howknow) values('$user
3.phpä¸ç$_post[]
4.由于您提交的内容中含有危险的SQL注入代码,致使本次操作无效!
如何判断是否存在SQL注入以及注入类型?
许多网站程序在编写时,没有对用户输入数据的unity 框架源码合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,解码或者源码根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。如何判断网站是否存在POST注入呢!请看以下步骤操作做。POST注入操作介绍:
1.POST注入一般发生在表单数据传输时、patchrom源码下载抓取POST提交的数据进行SQL语句测试
POST注入操作流程:
比如抓取的POST数据为:userName=admin&password=admin
测试诸如语句填写:userName=admin&password='admin 1=1--
像这样userName 参数后面加一些SQL语句(注入测试语句)进行POST数据注入测试即可。
[php]$email=$_POST['email'];$sql="insert into t_user(username,password,email,howknow) values('$user
1,æ¥æ¶å¼æ$_POST,$_GET,è¿æ$_REQUEST,å ¶ä¸ï¼$_REQUESTæ¯$_GET, $_POST å $_COOKIEçéåãé常æ们é½ä¼ç¨å两ç§å°±å¯ä»¥äºã
2.æ¥æ¶æ¶æçæ¯"name"ã
3.['email']æ¯åå°è¡¨åä¸çname="email"没éã
4.$_POSTä¸$_GET主è¦åå³äºä½ åå°è¡¨åæ°æ®æ交çæ¹æ³ï¼å¨è¡¨åä¸æè¿æ ·ä¸ä¸ªå±æ§ï¼method="GETæPOST",å¦ææ¯GET,phpå°±ç¨$_GETè·åæ°æ®ãåæ ·ï¼æ¯POST,å°±ç¨$_POSTè·åã
5.è¿ä¸ªæ¯smarty模æ¿çèµå¼æ¹æ³ï¼erroræçæ¯æ¨¡æ¿ä¸çä¸ä¸ªæ ç¾ï¼åè¿æ ·{ $error},åé¢ç$erroræ¯ç¨åºä¸çä¸ä¸ªåéï¼ä¹å°±æ¯ç»æ¨¡æ¿{ $error}çå¼ã
å¦ï¼
模æ¿ä»£ç ï¼
<div>{ $error}</div>
ç¨åºä»£ç ï¼
<?php
$error="对ä¸èµ·ï¼ä½ çå¯ç åºéï¼";
$smarty->assign("error",$error);
>æç»ç»æï¼
<div>对ä¸èµ·ï¼ä½ çå¯ç åºéï¼</div>
phpä¸ç$_post[]
1ãå å°$_POSTæå°åºæ¥ï¼ççéé¢çnameæ¯å¦ä½ é¢æ³çæ°æ®ãï¼print_r($_POST)ï¼
2ã确认äº$_POST['name']ææ°æ®åï¼å¨$sql
=
....è¿å¥åï¼ä¸æ¥çæ§è¡ï¼å è¾åºççï¼æ¯å¦é¢æ³çæ°æ®ãå¦æ$sqlè¯å¥éçvalueéçå 容é½æ¯ç©ºçè¯ï¼ä¸é¢ç代ç é½ä¸ç¨è°è¯äºã
ä½ ç代ç éæè¾åº$_POST['name']ï¼ä¸é¢è¯´å°â$_POST[name]çå¼æ æ³è¿åâï¼é£å°±æ¯è¯´ç¨åºæ¿å°ç$_POSTå·²ç»æé®é¢äºï¼å¦æä½ ç¡®è®¤å¨è¡¨åçnameéå¡«äºæ°æ®åæ交ï¼phpéè¿æ¯åä¸å°$_POST['name']ï¼å°è¡¨åenctypeå±æ§æ¹ä¸ºmultipart/form-dataåè¯è¯ã
由于您提交的内容中含有危险的SQL注入代码,致使本次操作无效!全民小说源码
你的网页代码里有一个SQL防注入程序
如
<%
'--------数据库连接部分--------------
dim dbkillSql,killSqlconn,connkillSql
dbkillSql="SqlIn.asa"
'On Error Resume Next
Set killSqlconn = Server.CreateObject("ADODB.Connection")
connkillSql="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbkillSql)
killSqlconn.Open connkillSql
If Err Then
err.Clear
Set killSqlconn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If
'--------定义部份------------------
Dim Fy_Post,c源码打乱Fy_Get,Fy_In,Fy_In2,Fy_Inf,Fy_Inf2,Fy_Xh,Fy_db,Fy_dbstr,Kill_IP,WriteSql
'自定义需要过滤的字串,用 "|" 分隔
'POST方式提交 表单一般采用的方式
Fy_In = "'|exec|insert|delete%from|count|chr |mid|master|truncate|declare|drop%table|net%user|xp_cmdshell|/add|net%localgroup%administrators|.js"
'GET方式提交 地址栏里提交参数一般采用的方式
Fy_In2 = "'|exec|insert|delete%from|count|chr |mid|master|truncate|declare|drop%table|from|net%user|xp_cmdshell|/add|net%localgroup%administrators|Asc|char |.js"
Kill_IP=True
WriteSql=True
'----------------------------------
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
If WriteSql=True Then
killSqlconn.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),"'","''")&"')")
killSqlconn.close
Set killSqlconn = Nothing
End If
Response.Write "<Script Language=JavaScript>alert('系统禁止你提交数据,如有疑问请您联系管理员!Joyber QQ:');</Script>"
Response.End
End If
Next
Next
End If
'----------------------------------
Fy_Inf2 = split(Fy_In2,"|")
'--------GET部份-------------------
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf2)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf2(Fy_Xh))<>0 Then
If WriteSql=True Then
killSqlconn.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),"'","''")&"')")
killSqlconn.close
Set killSqlconn = Nothing
End If
Response.Write "<Script Language=JavaScript>alert('系统禁止你提交数据,如有疑问请您联系管理员!Joyber QQ:');</Script>"
Response.End
End If
Next
Next
End If
If Kill_IP=True Then
Dim Sqlin_IP,rsKill_IP,Kill_IPsql
Sqlin_IP=Request.ServerVariables("REMOTE_ADDR")
Kill_IPsql="select Sqlin_IP from SqlIn where Sqlin_IP='"&Sqlin_IP&"'"
Set rsKill_IP=killSqlconn.execute(Kill_IPsql)
If Not(rsKill_IP.eof or rsKill_IP.bof) Then
if rsKill_IP("Kill_ip")=true then
Response.write "<Script Language=JavaScript>alert('朋友:\n由于您的IP被记录有不良操作,系统拒绝您此次登陆!\n如有疑问请联系管理员!Joyber QQ:');</Script>"
Response.End
end if
End If
rsKill_IP.close
End If
%>
哈哈
通常是在CONN。ASP 中 加入
《!--INCLODE FILE=。。--》
这个``