好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳解SQL注入--安全(二)

詳解SQL注入--安全(二)

熱門標簽:昌德訊外呼系統 400電話申請廠家現貨 徐涇鎮騰訊地圖標注 福建外呼電銷機器人加盟 電話機器人的價格多少錢一個月 自己做地圖標注需要些什么 天津公司外呼系統軟件 中國地圖標注公司 百度地圖標注要什么軟件

如果此文章有什么錯誤,或者您有什么建議,歡迎隨時聯系我,謝謝!
寫在前面:在前兩天初學SQL注入的基礎上,繼續在Metasploitable-Linux環境下進行練習。
一、前面學習的SQL注入,那么當然就有防注入。由于web注入危害較大,各種防御技術也層出不窮。

1、程序猿在寫代碼時會有意識的進行防御設置,或者安全測試來封堵web注入
2、各大安全廠商生產的硬件或者軟件WAF產品

黑名單過濾技術

1、過濾sql關鍵字段
常見的關鍵字:and、or、union all select、引號、空格等等過濾
還有一些類似的技術不是過濾而是通過轉義函數或者剝離非法關鍵字

繞過方法:

  1. 1、大小寫變形(id=-1 UniOn sEleCt 1,2,3……)
  2. 2、編碼:hex碼、urlencode
  3. 3、注釋 ‘/or/'
  4. 4、過濾替換 (and–、or–||)
  5. 5、截斷

二、文件上傳漏洞

我們在上網時經常會使用文件上傳的功能,比如上傳一個頭像圖片,上傳一個文件,上傳一個視頻等等,我都知道這是一個正常的功能,但是大家有沒有想過文件上傳后,服務器是怎么處理或者解析這些文件的呢,如果服務器在處理這些上傳文件的時候做的不夠安全,就會導致安全事件的發生,比如: 上傳web腳本文件讓服務器執行

  1. (1)上傳木馬病毒文件誘導用戶或者管理員下載
  2. (2)上傳釣魚文件
  3. (3)上傳欺詐文件

文件上傳漏洞核心

要使得文件上傳攻擊能夠成功,一般需要滿足兩個要素:

  1. (1)包含webshell文件能夠成功被上傳到服務器上
  2. (2) 該文件能夠被服務器解析或者我們能訪問到該上傳文件

實現核心—上傳繞過技術

一般而言文件上傳遇到的檢測技術: +

  1. (1)客戶端 javascript 檢測 (通常為檢測文件擴展名)
  2. (2)服務端 MIME 類型檢測 (檢測 Content-Type 內容)
  3. (3)服務端目錄路徑檢測 (檢測跟 path 參數相關的內容)
  4. (4)服務端文件擴展名檢測 (檢測跟文件 extension 相關的內容)
  5. (5)服務端文件內容檢測 (檢測內容是否合法或含有惡意代碼)

客戶端檢測繞過(javascript 檢測)

這類檢測通常在上傳頁面里含有專門檢測文件上傳的 javascript 代碼最常見的就是檢測擴展名是否合法,這類繞過很簡單。
做法:制作webshell文件(比如shell.php)—>修改為合法擴展名(shell.png)—>burp攔截改為(shell.php) —>上傳

服務端檢測繞過(MIME 類型檢測)

該檢測是在服務器上進行,主要檢查的是content-type類型值(白名單或者黑名單)。當然這個繞過也簡單。
做法:制作webshell文件(比如shell.php,Content-Type: text/plain)—>burp攔截改為(sontent-Type: image/gif) —>上傳

服務器檢測繞過(目錄路徑檢測)

該檢測是在服務器上進行,一般就檢測路徑是否合法,但稍微特殊一點的都沒有防御。 比如,shell.php.[\0].png [\0]、123.php0x00.png其中0x00是php、c語言的截斷符,就是說服務器在讀文件的時候讀到shell.php碰到【\0】就截止了當做shell.php執行了。 類似還有post提交文件shell.php%00.png
注:繞過后臺檢測,就是給他想要的文件后綴名,然后截斷真實的后綴

服務端檢測繞過(文件擴展名檢測)

顧名思義就是檢查文件擴展名,一般通過白黑名單防御。

1、黑名單 比如擴展名不能包含 html、php、php3,php4,asp、exe、bat、jsp +文件名大小寫繞過用像 AsP,pHp 之類的文件名繞過黑名單檢測

  1. (1)名單列表繞過用黑名單里沒有的名單進行攻擊,比如黑名單里沒有 asa 或 cer 之類
  2. (2)特殊文件名繞過 比如發送的 http 包里把文件名改成 test.asp. 或 test.asp_(下劃線為空格),這種命名方式在 windows 系統里是不被允許的,所以需要在 burp 之類里進行修改,然后繞過驗證后,會被 windows 系統自動去掉后面的點和空格,但要注意 Unix/Linux 系統沒有這個特性。
  3. (3)htaccess 文件攻擊 配合名單列表繞過,上傳一個自定義的.htaccess,就可以輕松繞過各種檢測
  4. (4)解析調用/漏洞繞過這類漏洞直接配合上傳一個代碼注入過的非黑名單文件即可,再利用解析調用/漏洞
  5. (5)白名單檢測

2、白名單相對來說比黑名單安全一些,但也不見得就絕對安全了

(1)0x00 截斷繞過

用像 test.asp%00.jpg 的方式進行截斷,屬于白名單文件,再利用服務端代碼的檢測邏輯漏洞進行攻擊,目前我只遇到過 asp 的程序有這種漏洞 + 解析調用/漏洞繞過這類漏洞直接配合上傳一個代碼注入過的白名單文件即可,再利用解析調用/漏洞

(2).htaccess 文件攻擊

在 PHP manual 中提到了下面一段話 move_uploaded_file section, there is a warning which states ‘If the destination file already exists, it will be overwritten.' 如果 PHP 安全沒配置好就可以通過 move_uploaded_file 函數把自己寫的.htaccess 文件覆蓋掉服務器上的這樣就能任意定義解析名單了

服務端檢測繞過(文件內容檢測)

如果文件內容檢測設置得比較嚴格,那么上傳攻擊將變得非常困難也可以說它是在代碼層檢測的最后一道關卡如果它被突破了,就算沒有代碼層的漏洞也給后面利用應用層的解析漏洞帶來了機會。

(1)文件幻數頭檢查
主要是檢測文件內容開始處的文件幻數,比如:要繞過 jpg Value = FF D8 FF E0 00 10 4A 46 49 46。 要繞過 gif 文件幻數檢測 Value = 47 49 46 38 39 61 要繞過 png 文件幻數檢測 Value = 89 50 4E 47

(2)文件相關信息檢測

圖像文件相關信息檢測常用的就是 getimagesize()函數只需要把文件頭部分偽造好就 ok 了,就是在幻數的基礎上還加了一些文件信息有點像下面的結構

GIF89a

(...some binary data for image...)
 ?php phpinfo(); ?>
(... skipping the rest of binary data ...)

(3)文件加載檢測

這個是最變態的檢測了,一般是調用 API 或函數去進行文件加載測試常見的是圖像渲染測試,再變態點的甚至是進行二次渲染,對渲染/加載測試的攻擊方式是代碼注入繞過對二次渲染的攻擊方式是攻擊文件加載器自身。

三、

1、(1)先將對應網址復制到下方,點擊Load URL,然后點擊Execute


(2)構造閉合,得到數據庫名–dvwa,然后按照之前的套路發現系統報錯,報錯信息如下



系統自動加入了\符號,是構造的函數出現錯誤,這時我們應規避這種現象,使系統不為構造函數自動添加特殊符號,對上述這種情況,可以使用hex碼將字符串dvwa轉換為十六進制(變為0x……),這樣將不會在構造函數中使用到單引號符號,此時系統將不再自動為構造函數添加特殊字符,破壞構造函數。

(3)同理,按照之前所使用的SQL語句,爆數據。

2、以Less-25為例

(1)

http://192.168.122.130/sqli-labs-master/Less-25/?id=-1' union all select 1,2,database()--+	//根據回顯構造閉合,爆出database()

(2)

http://192.168.122.130/sqli-labs-master/Less-25/?id=-1' union all select 1,table_name,column_name from infoorrmation_schema.columns where table_name = table_name aAndnd table_schema = database()--+	//爆出表名table_name、列名column_name

(3)

http://192.168.122.130/sqli-labs-master/Less-25/?id=-1' union all select 3,2,id from emails--+	//爆出數據

小結:首先不斷構造閉合輸入,觀察回顯,發現系統過濾了“and”字符串,以及“+”(+ 相當于空格鍵)

然后我們猜測使用大小寫混合的and,或者交叉不連續出現and,或者使用其他字符代替and–如(主要目的是為了使用and),又或者使用hex碼、urlencode轉化的方法;同理,字符串“or”,或者在單詞中出現的or(如information)也可以使用上述的方法。關鍵在于繞過系統的過濾,達到一定的目的

3、以Less-26為例

and字符與Less-25相同的道理,過濾掉的空格可以使用 %20 --空格、或者TAB鍵的編碼、或者換行鍵的編碼

4、以http://192.168.122.130/DVWA-1.9/vulnerabilities/exec/為例,界面如下,是一個可以ping的界面


該界面存在漏洞即可以使用連接符號在ping的同時完成其他動作,當在輸入欄輸入127.0.0.1 || pwd,出現情況如下


發現界面中出現了當前文件目錄,然后我們可以利用此漏洞獲取一些想得到的數據
在此提及“一句話木馬”

echo '?php @eval($_POST[123]);?>' > 123.php

[有時為了不讓受害人發現,常把其他形式的語句與“一句話木馬”連用

 ?php fputs(fopen("345.php","w")),?php @eval($_POST[1234]);?>' >1234.php

四、結合File Inclusion與File Upload實現攻擊

(1)在http://192.168.122.130/DVWA-1.9/security.php下選擇DVWA security為Low
然后File Upload上傳一個帶有一句話木馬的.php文件,然后通過已知的目錄,將信息添加到中國菜刀,獲取所有目錄—此時可以實現對文件的篡改、刪除、上傳等操作(有時可以通過重命名文件名來達到繞過的目的:123.png0x00.php —此處0x00代表命名結束)

使用中國菜刀,進行下圖所示的添加—針對 echo ‘?php @eval($_POST[123]);?>' > 123.php

然后就可以通過中國菜刀獲取目錄如下:

(2)在http://192.168.122.130/DVWA-1.9/security.php下選擇DVWA security為Medium
此時上傳.php文件會回顯錯誤,無法上傳,所以我們將木馬文件格式改為支持上傳的格式,png格式的文件中有一句話木馬—此處以png格式為例


手動設置瀏覽器代理



啟動BurpLoader,進行抓包改名處理!


然后Action->Send to Repeater,然后在Repeater中點擊Go,觀察右邊窗口,發現文件已經上傳,打開中國菜刀,按照之前的步驟訪問即可。

(3)在http://192.168.122.130/DVWA-1.9/security.php下選擇DVWA security為High

首先看到圖片已經上傳,那么上傳的圖片一定是已經經過處理的(加入了一句話木馬),就是打開圖片編碼工具winhex,在編碼工具中加入一句話木馬,重新生成一個新的編碼后的圖片。

當然也可以使用cmd命令:copy 1.png/b+123.php /a TCP.png。此處1.png為正常圖片,123.php為一句話木馬,將他們重新合成新的圖片取名為TCP.png,然后上傳,即可成功(上面使用的是cmd)。

圖片上傳完成后,不能像Medium等級那樣進行抓包改名處理。應該是web服務器端還有相應的安全性處理。
此時需要我們手動觸發(當然也可以等待被攻擊系統管理員點擊圖片觸發)。觸發之后我們就可以使用同樣的方式,打開中國菜刀,進行目錄的獲取。

五、對于一些變態等級的處理思路:

compare,觀察上傳前與上傳后哪些地方沒有變(通過二異性),然后對上傳數據做出一定的修改,從而達到一定目的。
一些其他的攻擊方法:

  1. 1、以http://192.168.122.130/DVWA-1.9/vulnerabilities/upload/為例,在圖片中寫入觸發指令,當管理員敲某命令時執行該圖片,執行圖片中包含的代碼,即預埋一個常用的觸發指令!
  2. 2、找到要攻擊的系統默認存儲臨時文件的具體位置,然后改變文件的內容(比如說在文件中加入包含一句話木馬的可執行文件等),達到預期的效果
  3. 3、對于會為上傳文件自動修改文件名的系統,會使我們無法執行我們上傳的非可執行文件,此時我們可以這樣:因為設備處理文件是有一定限度的,可以每秒鐘高頻傳輸同一文件,使其后臺來不及修改其中一兩個文件的文件名,使之出現文件名不會被修改的情況,然后我們如果可以訪問到該文件,執行即可進行攻擊!

六、CSRF:Cross site Request Forgery跨棧請求偽造(利用cookie值)

構造一個URL,誘導受害人點擊鏈接,從而利用受害人的cookie來實現受害人在自己不知道的情況下修改密碼

http://192.168.122.130/DVWA-1.9/vulnerabilities/csrf/?password_new=1234password_conf=1234Change=Change#

舉例:比如說黑客使用自己的賬號密碼登錄某網站,然后點到修改密碼界面,構造一個修改密碼的URL,當黑客想進行攻擊時就誘導某受害人(該受害人之前使用瀏覽器登錄網站時,瀏覽器中存有cookie)點擊之前構造好的URL,然后在受害人不知道的情況下修改密碼,此密碼黑客知道,此時若攻擊成功,黑客就能使用之前構造URL時構造的密碼以受害人的身份登錄網站,進行一系列操作!

當下的一些防御手段:

1、可以使用驗證碼進行防御

2、需要原始密碼才能修改密碼的網站

3、防御手法:no-referrer-when-downgrade

從一個網站鏈接到另外一個網站會產生新的http請求,referrer是http請求中表示來源的字段。
no-referrer-when-downgrade表示從https協議降為http協議時不發送referrer給跳轉網站的服務器

4、防偽機制token,不同于cookie,可以堵住絕大多數CSRF攻擊(人手一個防偽碼,別人猜不出來,如果自己要改密碼,必須自己使用自己的token才能成功)—token需要無規律、最好是加密。

以上所述是小編給大家介紹的SQL注入安全詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • 淺析MySQL的注入安全問題
  • Python操作sqlite3快速、安全插入數據(防注入)的實例
  • PHP開發中常見的安全問題詳解和解決方法(如Sql注入、CSRF、Xss、CC等)
  • PHP的SQL注入實現(測試代碼安全不錯)

標簽:黔西 陜西 荊門 駐馬店 鄂爾多斯 梅河口 北京 昌都

巨人網絡通訊聲明:本文標題《詳解SQL注入--安全(二)》,本文關鍵詞  詳解,SQL,注入,安全,二,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解SQL注入--安全(二)》相關的同類信息!
  • 本頁收集關于詳解SQL注入--安全(二)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 黄色软件下载方式| 泌尿科医生3| 在车上伦流澡到高潮Hnp文| 亚洲精品一区二区在线观看| 国产真实乱系列2孕妇| 三级网站国产| xl上司无删减| 蜜臀??色欲国产一区二区| 丰满少妇在线观看BD| 宝贝夹紧我| 潞西市| 国产精品久久欠久久久久久九秃| 精品无码国产污污污在线观看| 美女裸身裸乳免费视频的APP| china外卖员gay国产xnxx| 波多野结衣28部经典作品| 哦灬啊灬嗯灬快灬深用力游戏| 人人草人人| 玖玖精品国产| 猛男怀了郑毅弘的崽是第几集 | 男男高h乱| 麻豆91在线| 乌克兰做爰XXXⅩ性视频麻豆| 特级婬片老女人高清视频| 午夜小视频在线播放| 美女福利在线| 久久综合伊人77777蜜臀 | 插插视频网站| 台湾四级片| 调教骚| 国产精品一区二区三| 羞羞电影网| gay男生露j撒尿网站| 久色国产| 娇妻互换被高潮了三次| 91麻豆精品国产91久久久久推荐资源| 91素人约啪| 女孩子是怎么上女孩子| 今天家里没人姐姐就是你人了| 色情乱婬一区二区三区温尼影院| 哇好深好大好疼别停老师|