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

首頁 > 數據庫 > MySQL > 正文

淺談開啟magic_quote_gpc后的sql注入攻擊與防范

2020-01-19 00:02:19
字體:
來源:轉載
供稿:網友
通過啟用php.ini配置文件中的相關選項,就可以將大部分想利用SQL注入漏洞的駭客拒絕于門外。
開啟magic_quote_gpc=on之后,能實現addslshes()和stripslashes()這兩個函數的功能。在PHP4.0及以上的版本中,該選項默認情況下是開啟的,所以在PHP4.0及以上的版本中,就算PHP程序中的參數沒有進行過濾,PHP系統也會對每一個通過GET、POST、COOKIE方式傳遞的變量自動轉換,換句話說,輸入的注入攻擊代碼將會全部被轉換,將給攻擊者帶來非常大的困難。
雖然如此,攻擊者仍然有機會進行SQL注入攻擊。。。。。。前提是,當參數為數字型的時候,且未經過Intval()函數的處理,因為經過intval()的處理之后,所有的數據就都會強制轉換成數字。
前面已經提到過,開啟magic_quote_gpc=on之后,相當于使用addslshes()這個函數。但是數字型沒有用到單引號,所以理所當然的繞過了addslshes()函數的轉換了。而使用MySQL自帶的char()函數或者HEX(),char()可以將參數解釋為整數并且返回這些整數的ASCII碼字符組成的字符串,使用十六進制表示必須在數字前加上0x。
實例演示:
假設我們知道管理員的用戶名為admin,密碼不知道。并且已經將magic_quote_gpc啟用。
SQL語句:$sql="select * from users where username=$name and password='$pwd'";注意:變量$name沒加引號
此時,在地址欄中輸入username=admin%23,則合成后的sql語句為:
  select * from users where username='admin/' #' and password='';
  這時候通過url地址欄輸入的單引號(')將被加上反斜線,該sql語句將失效。
  admin轉換成ASCII后是char(97,100,109,105,110)
  此時在地址欄中輸入username=char(97,100,109,105,110)%23
  SQL語句就變成了:
  select * from users where username=char(97,100,109,105,110)#' and password='';
  執行結果為真,就可以順利進入后臺。
  對于數字型注入攻擊,必須在任何的數字型參數放入數據庫之前使用intval()對參數進行強制轉換成數字,從而可以斷絕數字型注入漏洞的產生。
  比如:$id=intval($_GET[‘id']);
  select * from articles where id='$id';
  地址欄中輸入:id=5' or 1=1%23
  SQL語句將變成:select * from articles where id='5';
  而不是select * from articles where id='5' or 1=1#;
總結:
對于每一個變量都記得加上單引號,比如where username='$name',
開啟magic_quote_gpc并不是絕對安全的,對于數字型注入攻擊,僅僅使用addslashes()函數進行轉換是不夠的,還需使用intval()強制將參數轉換成數字
如何防止SQL注入攻擊
方法一:密碼比對
思路:首先通過用戶輸入的用戶名去查詢數據庫,得到該用戶名在數據庫中對應的密碼,再將從數據庫中查詢到的密碼和用戶提交過來的密碼進行比對。
代碼:
復制代碼 代碼如下:

$sql="select password from users where username='$name'";
$res=mysql_query($sql,$conn);
if ($arr=mysql_fetch_assoc($res)){//如果用戶名存在
if ($arr['password']==$pwd) {//密碼比對
echo "登錄成功";
}else{
echo "密碼輸入有誤";
}
}else {
echo "該用戶名不存在";
}

分析:該情況下,代碼健壯了不少,即使在magic_quote_gpc=Off的情況下,也能防止SQL注入攻擊。因為攻擊者想成功登錄的話,得繞過兩道坎,第一是輸入的用戶名要存在,這一步可以構造一個SQL語句(‘ or 1=1%23)直接繞過,但是這樣子無法通過第二道坎。因為需要用戶輸入一個正確的密碼才能通過,顯然,這已經拒絕了SQL注入攻擊。
方法二:使用PDO的PDO::prepare()預處理操作來防止SQL注入攻擊
思路:創建一個pdo對象,利用pdo的預處理操作可以防止SQL注入攻擊
代碼:
復制代碼 代碼如下:

$name=$_GET['username'];
$pwd=$_GET['password'];
$sql="select * from users where username=? and password=?";
//1.創建一個pdo對象
$pdo=new PDO("mysql:host=localhost;port=3306;dbname=injection","root","");
//2.設置編碼
$pdo->exec("set names 'utf8'");
//3.預處理$sql語句
$pdoStatement=$pdo->prepare($sql);
//4.把接收到的用戶名和密碼填入
$pdoStatement->execute(array($name,$pwd));
//5.取出結果
$res=$pdoStatement->fetch();
if(empty($res)){
echo "用戶名或密碼輸入有誤";
}else{
echo "登錄成功";
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久女人电视剧免费播放下载| 国产精品中文久久久久久久| 国产精品羞羞答答| 久久精品久久久久久国产 免费| 美女福利视频一区| 成人国产亚洲精品a区天堂华泰| 日韩电视剧免费观看网站| 亚洲综合中文字幕在线| 欧美精品一本久久男人的天堂| 97久久精品视频| 亚洲情综合五月天| 亚洲a∨日韩av高清在线观看| 亚洲欧美精品一区二区| 久久久久久国产精品美女| 国产精品户外野外| 中文字幕欧美日韩va免费视频| 欧美成人国产va精品日本一级| 日韩精品在线视频美女| 亚洲精品一区二区久| 亚洲wwwav| 亚洲无亚洲人成网站77777| 国语自产精品视频在线看| 中文字幕日韩欧美精品在线观看| 久久久久久国产精品美女| 中文字幕一区二区三区电影| 欧美激情三级免费| 在线看国产精品| 欧美视频不卡中文| 精品久久久久久久中文字幕| 欧美综合在线观看| 国产精品免费视频xxxx| 亚洲精美色品网站| 久久精品视频免费播放| 狠狠操狠狠色综合网| 尤物九九久久国产精品的分类| 91精品国产乱码久久久久久久久| 日韩在线激情视频| 中文字幕精品网| 一二美女精品欧洲| 亚洲全黄一级网站| 久久成人免费视频| 性色av一区二区三区| 成人在线国产精品| 疯狂做受xxxx高潮欧美日本| 成人黄色大片在线免费观看| 久久久久久久久91| 色中色综合影院手机版在线观看| 亚洲国产精品99| 亚洲午夜av电影| 影音先锋欧美精品| 欧美日韩免费区域视频在线观看| 在线播放国产一区中文字幕剧情欧美| 欧美久久精品午夜青青大伊人| 欧美视频专区一二在线观看| 亚洲最大的成人网| 国产精品偷伦视频免费观看国产| 在线观看国产成人av片| 欧美激情精品久久久久久黑人| 欧美理论电影在线观看| 91理论片午午论夜理片久久| www国产91| 日韩在线精品一区| 中日韩美女免费视频网址在线观看| 在线观看免费高清视频97| 91在线|亚洲| 亚洲永久免费观看| 色小说视频一区| 欧美亚洲第一区| xxxx欧美18另类的高清| 国产免费一区二区三区在线能观看| 欧美激情精品久久久久| 都市激情亚洲色图| 亚洲sss综合天堂久久| 色偷偷9999www| 日韩欧美精品网址| 国产精品夜间视频香蕉| 精品国产一区久久久| 国产美女扒开尿口久久久| 久久精品视频va| 91在线中文字幕| 久久伊人91精品综合网站| 91成人在线视频| 国产亚洲欧洲黄色| 欧美日韩中文字幕在线视频| 精品偷拍一区二区三区在线看| 国产日韩欧美日韩大片| 欧美区二区三区| 久久视频在线观看免费| 日韩av综合中文字幕| 欧洲日本亚洲国产区| 日本精品一区二区三区在线播放视频| 精品国产精品自拍| 久热爱精品视频线路一| 91在线观看免费网站| 久久99国产精品自在自在app| 色综合天天综合网国产成人网| 精品久久久久久久久久久久| 国产亚洲成av人片在线观看桃| 欧美日韩国产中文精品字幕自在自线| 久久综合网hezyo| 国产精品久久久久久久久久久不卡| 亚洲天堂av高清| 在线中文字幕日韩| 91日本在线观看| 亚洲国产精品大全| 日韩美女主播视频| 欧美电影电视剧在线观看| 国产中文字幕亚洲| 日韩在线不卡视频| 在线观看久久久久久| 欧美高清videos高潮hd| 欧美中文在线视频| 麻豆国产精品va在线观看不卡| 国产精品a久久久久久| 国产精品爽爽爽爽爽爽在线观看| 久久天堂电影网| 日韩欧美一区二区在线| 国产偷亚洲偷欧美偷精品| 欧美日韩国内自拍| 久久久久久久国产| 国产精品www| 欧美一级黄色网| 欧美视频第一页| 日韩亚洲综合在线| 久久天天躁狠狠躁夜夜躁| 国产精品美女久久久久av超清| 韩国国内大量揄拍精品视频| 777国产偷窥盗摄精品视频| 在线观看视频亚洲| 色综合色综合久久综合频道88| 日本三级韩国三级久久| 久久精品99久久香蕉国产色戒| 国产成+人+综合+亚洲欧洲| 欧美激情精品久久久久久大尺度| 中文字幕精品视频| 亚洲第一精品夜夜躁人人爽| 国产精品欧美亚洲777777| 国产精品成人一区二区| 国产女人18毛片水18精品| 中文字幕日韩高清| 亚洲精品在线看| 亚洲精品丝袜日韩| 永久免费毛片在线播放不卡| 国内精品小视频| 日本高清+成人网在线观看| 亚洲人成在线一二| 亚洲欧美日韩国产中文专区| 久久久久久久爱| 中文在线资源观看视频网站免费不卡| 欧美精品手机在线| 成人午夜黄色影院| 国产suv精品一区二区| 久久久久久亚洲精品不卡| 国产suv精品一区二区三区88区| 伊人久久大香线蕉av一区二区| 毛片精品免费在线观看| 亚洲综合日韩在线| 九九久久久久99精品| 亚洲精品久久久久中文字幕二区| 欧美成人性色生活仑片| 日韩av三级在线观看| 2019最新中文字幕| 日韩欧美高清视频| 日韩欧美成人免费视频|