亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php中常見的sql攻擊正則表達式匯總

2024-05-04 23:26:59
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php中常見的sql攻擊正則表達式,實例匯總了針對各種常見的SQL語句及正則表達式原理的分析與應用,對于PHP程序設計的安全來說具有很好的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了php中常見的sql攻擊正則表達式。分享給大家供大家參考。具體分析如下:

我們都已經知道,在MYSQL 5+中 information_schema庫中存儲了所有的 庫名,表明以及字段名信息。故攻擊方式如下:

1. 判斷第一個表名的第一個字符是否是a-z中的字符,其中blind_sqli是假設已知的庫名。
注:正則表達式中 ^[a-z] 表示字符串中開始字符是在 a-z范圍內

 

復制代碼代碼如下:
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables WHERE TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^[a-z]' LIMIT 0,1) /*

 

2. 判斷第一個字符是否是a-n中的字符

 

復制代碼代碼如下:
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables  WHERE TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^[a-n]' LIMIT 0,1)/*

 

3. 確定該字符為n

 

復制代碼代碼如下:
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables  WHERE TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^n' LIMIT 0,1) /*

 

4. 表達式的更換如下

 

復制代碼代碼如下:
expression like this:  '^n[a-z]' -> '^ne[a-z]' -> '^new[a-z]' -> '^news[a-z]' -> FALSE

這時說明表名為news ,要驗證是否是該表明 正則表達式為'^news$',但是沒這必要 直接判斷 table_name = 'news‘ 不就行了。

 

5.接下來猜解其它表了 只需要修改 limit 1,1 -> limit 2,1就可以對接下來的表進行盲注了。

例如:

復制代碼代碼如下:
$Exec_Commond  = "( /s|/S)*(exec(/s|/+)+(s|x)p/w+)(/s|/S)*";
$Simple_XSS = "( /s|/S)*((%3C)|<)((%2F)|/)*[a-z0-9%]+((%3E)|>)(/s|/S)*";
$Eval_XSS  = "( /s|/S)*((%65)|e)(/s)*((%76)|v)(/s)*((%61)|a)(/s)*((%6C)|l)(/s|/S)*";
$Image_XSS  = "( /s|/S)*((%3C)|<)((%69)|i|I|(%49))((%6D)|m|M|(%4D))((%67)|g|G|(%47))[^/n]+((%3E)|>)(/s|/S)*" ;
$Script_XSS = "( /s|/S)*((%73)|s)(/s)*((%63)|c)(/s)*((%72)|r)(/s)*((%69)|i)(/s)*((%70)|p)(/s)*((%74)|t)(/s|/S)*";
$SQL_Injection = "( /s|/S)*((%27)|(')|(%3D)|(=)|(/)|(%2F)|(")|((%22)|(-|%2D){2})|(%23)|(%3B)|(;))+(/s|/S)*";

 

sql攻擊代碼:

復制代碼代碼如下:
<?php 
function customError($errno, $errstr, $errfile, $errline) 

    echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />"; 
    die(); 

set_error_handler("customError",E_ERROR); 
$getfilter="'|(and|or)/b.+?(>|<|=|in|like)|///*.+?/*//|</s*script/b|/bEXEC/b|UNION.+?SELECT|UPDATE.+?SET|INSERT/s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)/s+(TABLE|DATABASE)"; 
$postfilter="/b(and|or)/b.{1,6}?(=|>|<|/bin/b|/blike/b)|///*.+?/*//|</s*script/b|/bEXEC/b|UNION.+?SELECT|UPDATE.+?SET|INSERT/s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)/s+(TABLE|DATABASE)"; 
$cookiefilter="/b(and|or)/b.{1,6}?(=|>|<|/bin/b|/blike/b)|///*.+?/*//|</s*script/b|/bEXEC/b|UNION.+?SELECT|UPDATE.+?SET|INSERT/s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)/s+(TABLE|DATABASE)"; 
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq)
{    
    if(is_array($StrFiltValue)) 
    { 
        $StrFiltValue=implode($StrFiltValue); 
    } 
    if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1&&!isset($_REQUEST['securityToken']))
    { 
        slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作時間: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作頁面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交參數: ".$StrFiltKey."<br>提交數據: ".$StrFiltValue); 
        print "result notice:Illegal operation!"; 
        exit(); 
    } 

foreach($_GET as $key=>$value)

    StopAttack($key,$value,$getfilter); 

foreach($_POST as $key=>$value)

    StopAttack($key,$value,$postfilter); 

foreach($_COOKIE as $key=>$value)

    StopAttack($key,$value,$cookiefilter); 

   
function slog($logs) 

    $toppath="log.htm"; 
    $Ts=fopen($toppath,"a+"); 
    fputs($Ts,$logs."rn"); 
    fclose($Ts); 

?>

sql分析:

 

如果使用這個函數的話,這個函數會繞開PHP的標準出錯處理,所以說得自己定義報錯處理程序(die())。
其次,如果代碼執行前就發生了錯誤,那個時候用戶自定義的程序還沒有執行,所以就不會用到用戶自己寫的報錯處理程序?!?/p>

那么,PHP里有一套錯誤處理機制,可以使用set_error_handler()接管PHP錯誤處理,也可以使用trigger_error()函數主動拋出一個錯誤。

set_error_handler()函數設置用戶自定義的錯誤處理函數。函數用于創建運行期間的用戶自己的錯誤處理方法。它需要先創建一個錯誤處理函數,然后設置錯誤級別。   
關于的用法:

復制代碼代碼如下:
function customError($errno, $errstr, $errfile, $errline)
{
  echo "<b>錯誤代碼:</b> [${errno}] ${errstr}/r/n";
  echo " 錯誤所在的代碼行: {$errline} 文件{$errfile}/r/n";
   echo " PHP版本 ",PHP_VERSION, "(" , PHP_OS, ")/r/n";
  // die();
}
set_error_handler("customError",E_ALL| E_STRICT);

 

總結

PHP遇到錯誤時,就會給出出錯腳本的位置、行數和原因,有很多人說,這并沒有什么大不了。但泄露了實際路徑的后果是不堪設想的,對于某些入侵者,這個信息可是非常重要,而事實上現在有很多的服務器都存在這個問題。 有些網管干脆把PHP配置文件中的 display_errors 設置為 Off 來解決,但本人認為這個方法過于消極。有些時候,我們的確需要PHP返回錯誤的信息以便調試。而且在出錯時也可能需要給用戶一個交待,甚至導航到另一頁面。但是有了set_error_handler()之后,這些矛盾也都可以解決掉了。但是發現很少用這個函數。

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线日韩欧美视频| 久久久视频在线| 国产精品精品久久久久久| 欧洲成人午夜免费大片| 在线成人激情黄色| 狠狠爱在线视频一区| 欧美日韩国产综合新一区| 亚洲成色777777在线观看影院| 精品露脸国产偷人在视频| 精品一区二区三区四区在线| 精品国产一区二区三区久久| 亚洲精品99久久久久中文字幕| 国产精品自拍偷拍视频| 国产aaa精品| 久久天天躁狠狠躁夜夜爽蜜月| 69av在线视频| www欧美xxxx| 亚洲级视频在线观看免费1级| www.日韩av.com| 国产91在线播放| 国产精品久久二区| 亚洲永久免费观看| 日韩一级黄色av| 日韩h在线观看| 亚洲成人精品视频| 91免费电影网站| 色综合久久悠悠| 91久久夜色精品国产网站| 一区二区三区视频观看| 久久国产精品影片| 国产精品偷伦免费视频观看的| 日韩av成人在线观看| 日本不卡高字幕在线2019| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲毛片在线免费观看| 精品在线观看国产| 国产精品jvid在线观看蜜臀| 青青a在线精品免费观看| 国产精品美女www爽爽爽视频| 亚洲国产精品久久久久| 欧美成人精品三级在线观看| 中文字幕亚洲一区二区三区| 日本国产精品视频| 日本久久久久久久| 亚洲欧美日韩中文在线制服| 亚洲精品成人久久| 日韩精品免费在线播放| 欧美亚洲成人网| 久久在线观看视频| 亚洲精品国产精品自产a区红杏吧| 日本中文字幕不卡免费| 2021久久精品国产99国产精品| 国产精品一区二区性色av| 97福利一区二区| 热99精品里视频精品| 亚洲系列中文字幕| 亚洲国产成人爱av在线播放| 俺去亚洲欧洲欧美日韩| 成人精品久久久| 亚洲中国色老太| 亚洲人成77777在线观看网| 久久夜色精品国产亚洲aⅴ| 欧美一级高清免费| 欧美激情视频一区二区| 深夜精品寂寞黄网站在线观看| 国产小视频91| 欧美福利视频在线观看| 亚洲香蕉成视频在线观看| 欧美日韩国产精品一区| 欧美另类精品xxxx孕妇| 亚洲欧洲一区二区三区在线观看| 国外成人在线视频| 亚洲精品久久7777777| 亚洲人成在线观看| 国产成人一区二区| 7m第一福利500精品视频| 欧美性猛交xxxx乱大交| 日韩av在线播放资源| 久久久精品在线观看| 欧美高清视频免费观看| 岛国视频午夜一区免费在线观看| 2018国产精品视频| 91经典在线视频| 最近2019中文字幕mv免费看| 日韩精品亚洲精品| 欧美最顶级丰满的aⅴ艳星| 久久免费视频这里只有精品| 国产大片精品免费永久看nba| 俺也去精品视频在线观看| 亚洲人成自拍网站| 成人激情视频在线观看| 亚洲精品720p| 91欧美精品午夜性色福利在线| 一区二区在线免费视频| 欧洲成人在线视频| 欧美精品成人91久久久久久久| 国产精品69av| 国内精品小视频在线观看| 亚洲成人免费在线视频| 欧美日韩国产精品一区| 欧美日韩免费一区| 欧美成人精品一区| 欧美色播在线播放| 伊人久久综合97精品| 俺去了亚洲欧美日韩| 91精品国产高清久久久久久久久| 午夜精品一区二区三区在线视| 羞羞色国产精品| 亚洲日本欧美日韩高观看| 美女福利视频一区| 亚洲xxxx妇黄裸体| 91精品国产乱码久久久久久久久| 欧美性xxxxx极品娇小| 欧美成人精品在线视频| 欧美性xxxx极品高清hd直播| 91久久久久久久久久久| 在线精品播放av| 中文字幕日韩欧美精品在线观看| 91久久久国产精品| 精品久久久免费| 国产精品男人爽免费视频1| 国产精品偷伦一区二区| 91av在线免费观看视频| 91精品啪aⅴ在线观看国产| 国产精品高清网站| 美女av一区二区| 国产激情综合五月久久| 亚洲电影免费观看高清完整版在线观看| 色综合久久久久久中文网| 亚洲天堂第一页| 亚洲国模精品一区| 韩日欧美一区二区| 欧美性猛交99久久久久99按摩| 国产中文欧美精品| 精品久久久久久中文字幕大豆网| 国产精品96久久久久久又黄又硬| 亚洲欧美在线播放| 欧美在线观看一区二区三区| 国产精品夫妻激情| 日本久久久久久| 欧美国产日韩精品| 国内免费久久久久久久久久久| 日韩精品欧美国产精品忘忧草| 国产成人精品电影久久久| 亚洲黄页视频免费观看| 色哟哟亚洲精品一区二区| 综合网日日天干夜夜久久| 日韩美女视频免费在线观看| 美乳少妇欧美精品| 亚洲香蕉成视频在线观看| 国产视频999| 亚洲欧美在线第一页| 国产精品91久久久| 日韩中文视频免费在线观看| 亚洲成av人片在线观看香蕉| 亚洲精品欧美一区二区三区| 久久影视电视剧凤归四时歌| 欧美日韩国产在线播放| 国产福利视频一区二区| 人人爽久久涩噜噜噜网站| 国产一区二区三区在线免费观看| 日韩中文字幕在线观看| 欧美精品日韩三级| 成人a级免费视频|