日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

sql注入測試經(jīng)驗教程_MySQL教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:mysql開啟遠(yuǎn)程登錄功能
有時候建站的時候因為數(shù)據(jù)庫和網(wǎng)站放在不同的IP,這個時候就需要用程序進行mysql的遠(yuǎn)程連接,而mysql因為安全的因素,默認(rèn)的時候用戶設(shè)置的是不能遠(yuǎn)程連接,只能本地連接,這個時候就需要自己去修改其中的設(shè)置。下面講方法。 進入cmd命令模式。 mysql -h localhost-u m

   登錄注入

  先看一個我們一般用的登錄頁面sql語句(原生態(tài)php執(zhí)行的sql)

  $sql = "select * from users where username = '$username' and password = '$password'";

  對于這種sql,對應(yīng)一個萬能密碼和用戶名:

  萬能密碼: xx' or 1='1

  萬能用戶名: xx' union select * from users/*

  執(zhí)行時mysql解釋為:

  $sql = select * from users where username = '$username' and password = ' xx' or 1='1'

  不解釋,瞬間破解

  同樣,上面是在sql語句中查詢字段后的輸入值加了單引號,有些時候尤其是初級程序員經(jīng)常對變量不加單引號:

  $sql = "select * from users where username = $username and password = $password";

  這時mysql解釋會被當(dāng)做數(shù)字型字段來匹配

  萬能密碼: 11 union select * from users/*

  執(zhí)行語句:

  select * from users where username =11union select * from users/* and password = 54

  查詢注入

  這個比較好理解,一般在頁面的搜索框點擊按鈕搜索時在后臺sql中可能會用like來查詢,但如果沒有加任何處理,可能輸入一個% 或 __ 就會注入到sql中查詢?nèi)炕虿糠钟涗洠贿^在php中可以使用一個函數(shù)來處理一下:

  $keyword = addslashes($keyword);$keword = str_replace("%","$",$kwyword);

  插入注入

  我們先模擬一個網(wǎng)站注冊頁面的sql處理語句:

  insert into users(username,password,grade) values('frank','123456','1');

  假如users表中g(shù)rade為等級字段,并且默認(rèn)字段為1,注冊時用戶輸入用戶名和密碼兩個字段后,后臺插入語句為上面語句,則當(dāng)用戶輸入的密碼為 123456','3')/*時,執(zhí)行sql為:

  insert into users(username,password,grade) values('frank','123456','3')/*,'1';

  這樣也可以達到注入的目的

  解決sql注入:

  ①. 在服務(wù)器設(shè)置將php.ini配置文件中magic_quotes_gpc設(shè)置為On

  服務(wù)器會自動將單引號轉(zhuǎn)義為:'

  不過攻擊時可以將單引號寫為char(13)-單引號ASCII碼,也一樣可以攻擊

  ②. 密碼比對

  通過輸入的用戶名獲取密碼,再對密碼進行匹配

  $sql = "select * from users where username ='frank'"

  $result = mysql_query($sql,$conn);

  $row = mysql_fetch_array($result);

  if($row['password'] != $password) ...

  ③. 使用pdo的PDO::prepare()預(yù)處理操作

  PDO(PHP Data Object)擴展在PHP5中加入,PHP6默認(rèn)識別PDO連接數(shù)據(jù)庫,pdo相當(dāng)于是一個數(shù)據(jù)庫抽象層,不同數(shù)據(jù)庫使用相同的方法名,解決數(shù)據(jù)庫連接不同意問題。

  工作原理如下:

sql注入測試經(jīng)驗教程 模板無憂

  (使用時需先在php.ini中開啟對pdo擴展的支持)

  $sql = "select * from users where username=? and password=?"; //創(chuàng)建一個pdo對象 $mypdo = new PDO("mysql:host=localhost;port=3306;dbname=xx","root","123456"); //設(shè)置編碼 $mypdo->exec("set names utf8"); //預(yù)處理$sql $pdostatement = $mypdo->prepare(%sql); //將用戶名和密碼填入sql $pdostatement->execute(array($username,$password)); //得到查詢結(jié)果 $result = $pdostatement->fetch(); if(empty($result)) ...

 �、�. 其他企業(yè)級解決sql注入方式:IDS(入侵檢測系統(tǒng))

sql注入測試經(jīng)驗教程

  關(guān)于sql注入對于開發(fā)工程師來說主要是防守,提高編寫安全代碼的意識,讓我們編寫的代碼質(zhì)量更高,安全性方面更好。

分享:不需手動鎖表同步mysql數(shù)據(jù)庫
確保系統(tǒng)安裝有perl-DBD-mysql Yum install perl-DBD-mysql 安裝xtrabackup Xtrabackup 2.1以后的版本不支持innodb引擎,因此需要下載2.0.*的版本。 Wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.0.7/RPM/rhel5/x86_64/percona-xtrabackup-2.0.7-55

來源:模板無憂//所屬分類:MySQL教程/更新時間:2014-10-10
相關(guān)MySQL教程