SQL注入詳解(一)

前言:
SQL注入漏洞從1998年圣誕節(jié)大火以來,長盛不衰,雖然開發(fā)人員想出各種方法對它進(jìn)行圍追堵截,卻始終不能趕盡殺絕。這一系列的文章會從最基本的東西開始,為大家剖析SQL注入,從動態(tài)網(wǎng)站架構(gòu)開始,借助源代碼,講解注入原理。逐步講解各種數(shù)據(jù)庫的注入語句(包括access,mysql,sqlserver,oracle,postgresql),再到各種注入技巧(HTTP頭注入,偽靜態(tài)注入,Base64注入,偏移注入(包括多級偏移注入),盲注,注入中轉(zhuǎn)等等),再差一足不同的類型注入(cookie注入,POST注入),最后介紹各種注入工具的使用(SQLMAP,穿山甲,胡蘿卜)最后的最后說一下注入的挖掘(注意,這是一個很長的故事,主要是筆者在學(xué)習(xí)過程當(dāng)中作為總結(jié),復(fù)習(xí)用途。所以內(nèi)容也是多方參考,如果侵犯到您的權(quán)益,請聯(lián)系我進(jìn)行刪除。PS:何處是參考內(nèi)容我會標(biāo)注)

0x1動靜態(tài)網(wǎng)站架構(gòu)(注入產(chǎn)生的條件)
說到注入,就難以避免一個問題:“任何網(wǎng)站都存在注入嗎?”答案是否定的,我們都知道,靜態(tài)網(wǎng)站是不存在注入的,那么,為什么呢?我們不妨從動靜態(tài)網(wǎng)站的架構(gòu)來分析一下。

下圖是筆者鼠繪的兩張架構(gòu)圖。

Paste_Image.png
Paste_Image.png

不難看出,當(dāng)用戶瀏覽靜態(tài)網(wǎng)站和動態(tài)網(wǎng)站時,靜態(tài)網(wǎng)站背后的故事要簡單很多,而我們的SQL注入,就產(chǎn)生在用戶發(fā)送http請求這一過程當(dāng)中,該http請求中包含了惡意語句,服務(wù)器卻將它編譯執(zhí)行,web服務(wù)器再將它交給數(shù)據(jù)庫處理,結(jié)果就非常糟糕了。好好品味一下這一過程,就出現(xiàn)了SQL注入產(chǎn)生的條件。

1、必須是動態(tài)網(wǎng)站
2、執(zhí)行的語句必須是可控的

下面,我們借助代碼做一個更加深入的分析。
下面是一個php腳本文件的源代碼:
$con =mysql_connect('127.0.0.1','root','root');//連接數(shù)據(jù)庫
$id = GET_['id'];
mysql_select_db('數(shù)據(jù)庫名',$con);//mysq_select_db函數(shù)指定查詢的數(shù)據(jù)庫
$sql = "select * from 表名 where id=$id";//用一個變量來存放查詢的SQL語句。
echo mysql_result(mysql_query($sql),0,'username');

從攻擊者的角度來看,發(fā)生了下面幾件事,通過url(也就是發(fā)送http請求)為變量id以get方式傳入?yún)?shù)值,拼接SQL語句,代入數(shù)據(jù)庫執(zhí)行。如果攻擊者傳入惡意的語句,那么很不幸,直接帶入數(shù)據(jù)庫執(zhí)行了,it’s
terrible!
這一節(jié)我們介紹了注入攻擊發(fā)生的過程,相信大家也想明白了,注入語句本質(zhì)上就是數(shù)據(jù)庫語句,所以,我們下面依次說明不同數(shù)據(jù)庫的注入方式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,824評論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,032評論 0 11
  • 姓名:于川皓 學(xué)號:16140210089 轉(zhuǎn)載自:https://baike.baidu.com/item/sq...
    道無涯_cc76閱讀 2,049評論 0 2
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊閱讀 18,562評論 0 85
  • 太陽出現(xiàn),生來平素,心無雜念。西舍紅霞,東施榮耀,甘當(dāng)模范。 藍(lán)天依戀陽光,早早起、梳妝打扮。門外迎接,敲鑼打鼓,...
    木貞ma閱讀 302評論 2 7

友情鏈接更多精彩內(nèi)容