什麼是SQL注入php
SQL注入基本介紹
結構化查詢語言(Structured Query Language,縮寫:SQL),是一種特殊的編程語言,用於數據庫中的標準數據查詢語言。1986年10月,美國國家標準學會對SQL進行規範後,以此做爲關係式數據庫管理系統的標準語言(ANSI X3. 135-1986),1987年獲得國際標準組織的支持下成爲國際標準。不過各類通行的數據庫系統在其實踐過程當中都對SQL規範做了某些編改和擴充。因此,實際上不一樣數據庫系統之間的SQL不能徹底相互通用。
SQL注入(SQL Injection)是一種常見的web安全漏洞,攻擊者利用這個問題,能夠訪問或修改數據,或者利用潛在的數據庫漏洞進行攻擊。
SQL注入產生緣由
針對SQL注入的攻擊行爲可描述爲經過在用戶可控參數中注入SQL語法,破壞原有SQL結構,達到編寫程序時意料以外結果的攻擊行爲。其成因能夠歸結爲如下兩個緣由疊加形成的:
1. 程序編寫者在處理應用程序和數據庫交互時,使用字符串拼接的方式構造SQL語句
2. 未對用戶可控參數進行足夠的過濾便將參數內容拼接進入到SQL語句中
sql注入攻擊方式
SQL注入的攻擊方式根據應用程序處理數據庫返回內容的不一樣,能夠分爲可顯注入、報錯注入和盲注:
一、可顯注入:攻擊者能夠直接在當前界面內容中獲取想要得到的內容
二、報錯注入:數據庫查詢返回結果並無在頁面中顯示,可是應用程序將數據庫報錯信息打印到了頁面中,因此攻擊者能夠構造數據庫報錯語句,從報錯信息中獲取想要得到的內容
三、盲注:數據庫查詢結果沒法從直觀頁面中獲取,攻擊者經過使用數據庫邏輯或使數據庫庫執行延時等方法獲取想要得到的內容
html
如何進行SQL注入攻擊mysql
SQL注入攻擊是很是使人討厭的安全漏洞,是全部的web開發人員,不論是什麼平臺,技術,仍是數據層,須要確信他們理解和防止的東西。不幸的是,開發人員每每不集中花點時間在這上面,以致他們的應用,更糟糕的是,他們的客戶極其容易受到攻擊。下面的三部曲從漏洞發現到漏洞確認,再到漏洞利用,最後漏洞防護四個方面的技術作了詳細的講解。git
SQL注入三部曲:
github
一、 滲透攻防Web篇-SQL注入攻擊初級web
http://bbs.ichunqiu.com/thread-9518-1-1.html
sql
二、 滲透攻防Web篇-SQL注入攻擊中級shell
http://bbs.ichunqiu.com/thread-9668-1-1.html
數據庫
三、 滲透攻防Web篇-SQL注入攻擊高級編程
http://bbs.ichunqiu.com/thread-10093-1-1.html
經驗很重要,成功每每在屢次失敗以後。要想減小失敗,就多看文章積累技巧吧,下面集合了論壇相關技術文章,從各個方面介紹了SQL注入。
一、 SQL學習筆記
http://bbs.ichunqiu.com/thread-2274-1-1.html
二、 人人均可學會的MySQL高級注射技巧
http://bbs.ichunqiu.com/thread-10359-1-1.html
三、 詳解MySQL注射
http://bbs.ichunqiu.com/thread-10222-1-1.html
四、 淺談.NET應用程序SQL注入
http://bbs.ichunqiu.com/thread-7636-1-1.html
五、 在SQL注入中使用DNS獲取數據
http://bbs.ichunqiu.com/thread-10005-1-1.html
六、 WEB安全系列之如何挖掘sql注入漏洞(二次注入)
http://bbs.ichunqiu.com/thread-9193-1-1.html
七、深刻了解php+mysql注入及修補!
http://bbs.ichunqiu.com/thread-10090-1-1.html
八、技巧整合 - mysql注入點的另類利用
http://bbs.ichunqiu.com/thread-9903-1-1.html
九、淺談sql注入中的Post注入
http://bbs.ichunqiu.com/thread-7762-1-1.html
相關教程
工具教程篇:
一、 SQLMAP注入教程-11種常見SQLMAP使用方法詳解
http://bbs.ichunqiu.com/thread-10583-1-1.html
二、 SQLMAP tamper WAF 繞過腳本列表註釋
http://bbs.ichunqiu.com/thread-10387-1-1.html
三、零基礎實戰審計SQL注射漏洞
http://bbs.ichunqiu.com/thread-10284-1-1.html
四、被動式SQL注入神器總結
http://bbs.ichunqiu.com/thread-8428-1-1.html
五、利用Burpsuit學習注入工具語句
http://bbs.ichunqiu.com/thread-8319-1-1.html
代碼審計篇:
一、 PHP代碼審計SQL注入
http://bbs.ichunqiu.com/thread-11308-1-1.html
二、Joomla 3.xSql注入漏洞分析
http://bbs.ichunqiu.com/thread-1689-1-1.html
三、 淺談JSP安全開發之SQL注入
http://bbs.ichunqiu.com/thread-9958-1-1.html
四、 代碼審計之繞過addslashes總結
http://bbs.ichunqiu.com/thread-10899-1-1.html
相關技術及文檔:
一、 mysql數據庫學習
http://bbs.ichunqiu.com/thread-11248-1-1.html
二、 SQL注入自學指南
http://bbs.ichunqiu.com/thread-2141-1-1.html
三、 mssql注入常用的命令
http://bbs.ichunqiu.com/thread-3221-1-1.html
專業的視頻教程-告別文字的枯燥
一、SQL注入漏洞-視頻+實驗:活學活用
http://www.ichunqiu.com/course/405
二、SQL注入漏洞審計及漏洞挖掘
http://www.ichunqiu.com/course/1325
三、科普類-SQL(結構化查詢語言)注入攻擊的好處
http://www.ichunqiu.com/course/51849
4、SQL注入漏洞發現及修補技術(有攻有防纔是王道)
http://www.ichunqiu.com/course/77
一、SQLmap
sqlmap 是一個開源的滲透測試工具,能夠用來自動化的檢測,利用SQL注入漏洞,獲取數據庫服務器的權限。它具備功能強大的檢測引擎,針對各類不一樣類型數據庫的滲透測試的功能選項,包括獲取數據庫中存儲的數據,訪問操做系統文件甚至能夠經過外帶數據鏈接的方式執行操做系統命令。
項目地址:https://github.com/sqlmapproject/sqlmap
二、SSQLInjection
超級SQL注入工具(SSQLInjection)是一款基於HTTP協議自組包的SQL注入工具,支持出如今HTTP協議任意位置的SQL注入,支持各類類型的SQL注入,支持HTTPS模式注入。目前支持Bool型盲注、錯誤顯示注入、Union注入,支持Access、MySQL5以上版本、SQLServer、Oracle等數據庫。採用C#開發,底層採用Socket發包進行HTTP交互,極大的提高了發包效率,相比C#自帶的HttpWebRequest速度提高2-5倍。支持盲注環境獲取世界各國語言數據,直接秒殺各類注入工具在盲注環境下沒法支持中文等多字節編碼的數據。
項目地址:http://www.shack2.org/article/1417357815.html
三、Pangolin
Pangolin是一款幫助滲透測試人員進行SQL注入測試的安全工具。它具有友好的圖形界面以及支持測試幾乎全部數據庫,並可以經過一系列很是簡單的操做,達到最大化的攻擊測試效果。
收費的,因此不放項目地址。
四、Havij
Havij是一款自動化的SQL注入工具,它不只可以自動挖掘可利用的SQL查詢,還可以識別後臺數據庫類型、檢索數據的用戶名和密碼hash、轉儲表和列、從數據庫中提取數據,甚至訪問底層文件系統和執行系統命令。
收費的,因此不放項目地址。
五、The Mole
The Mole是一款開源的自動化SQL注入工具,其可繞過IPS/IDS(入侵防護系統/入侵檢測系統)。只需提供一個URL和一個可用的關鍵字,它就可以檢測注入點並利用。The Mole可使用union注入技術和基於邏輯查詢的注入技術。The Mole攻擊範圍包括SQL Server、MySQL、Postgres和Oracle數據庫。
項目地址:nasel.com.ar
六、SQLNinja
sqlninja是一款用perl寫的一個專門針對Microsoft SQL Server的sql注入工具。和市面上其餘的注入工具不一樣,sqlninja沒有將精力用在跑數據庫上,而是側重於得到一個shell。
項目地址:http://www.northernfortress.net/
kali自帶工具
7、BBQSQL
BBQSQL是一個Python編寫的盲注工具(blind SQL injection framework),當你檢測可疑的注入漏洞時會頗有用。同時BBQSQL是一個半自動工具,容許客戶自定義參數。
項目地址:https://github.com/Neohapsis/bbqsql/
八、Jsql
JSQL是一款Java開發的輕量級遠程服務器數據庫注入漏洞測試工具,且免費、開源、跨平臺 (Windows, Linux, Mac OS X, Solaris)。
項目地址:https://code.google.com/p/jsql-injection/downloads/list
九、Sqlsus
sqlsus是一個開放源代碼的MySQL注入和接管工具,sqlsus使用perl編寫,基於命令行界面。sqlsus能夠獲取數據庫結構,注入你本身的SQL語句,從服務器下載文件,爬行web站點可寫目錄,上傳和控制後門,克隆數據庫等等
項目地址:http://sqlsus.sourceforge.net/download.html
十、SQL Poizon
SQL Poizon是一個SQL注入掃描器,可以利用搜索引擎蒐羅互聯網上有SQL注入漏洞的網站。該工具內建瀏覽器和注入任務工具檢查注入效果。SQL Poizon的界面很是簡單,即便沒有多少技術功底的人也能輕鬆上手。
這個很老了就不提供地址了,互聯網上不少。
__EOF__
做 者:ssooking
出 處:http://www.javashuo.com/article/p-wjgmvsuz-t.html