日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

首先的話,我們來仔細搞清楚這個攻擊的流程,第一步就是了解一下,什么是sql?又什么是sql注入、sql注入的流程和步驟。

1、首先什么是sql,

Sql是一種數據庫查詢和程序設計的語言,這里的數據庫是指存放網站的一些信息數據,常見的數據庫有:MySQL、access、mssql(sql server)、oracle數據庫等等,這些數據庫被大多數的中小型企業使用,專門存放用戶的一些網站信息和數據信息,通過一些sql語言中一些的命令去增加、刪除、改寫、查詢這些數據。這個就是sql。

2、什么是sql注入?

一般來說,黑客通過把惡意的sql語句插入到網站的表單提交或者輸入域名請求的查詢語句,最終達到欺騙網站的服務器執行惡意的sql語句,通過這些sql語句來獲取黑客他們自己想要的一些數據信息和用戶信息,也就是說如果存在sql注入,那么就可以執行sql語句的所有命令

1)sql注入形成的原因

數據庫的屬于與網站的代碼未嚴格分離,當一個黑客提交的參數數據未做充分的檢查和防御的話,那么黑客的就會輸入惡意的sql命令,改變了原有的sql命令的語義,就會把黑客執行的語句帶入到數據庫被執行

2)Sql注入的危害。

這些危害不單單只限于數據庫的用戶信息泄露,通過sql注入也可以惡意的篡改網頁,也可以寫入的網站后門。數據庫服務器被估計,數據庫的系統管理員賬號也會被篡改,服務器被遠程控制,也會破壞硬盤數據、使系統癱瘓。

3、sql注入的流程和步驟

首先的話,上面講到了增加、刪除、改寫、查詢這些數據,簡稱為:增刪改查。

我們先了解一下什么是提交方式:提交方式是為滿足不同的需要,與服務器資源進行交互、訪問等等

我們常見的提交方式就是GET和POST

首先是GET,get提交方式,比如說你要查詢一個數據,那么查詢的代碼就會出現在鏈接當中,可以看見我們id=1,1就是我們搜索的內容,出現了鏈接當中,這種就是get

黑客擅長的sql注入攻擊,你真的懂嗎?

 

第二個是Post提交方式是看不見的,需要我們利用工具去看見,我們要用到hackbar這款瀏覽器插件

可以就可以這樣去提交,在這里我搜索了2,那么顯示的數據也就不同,這個就是數據庫的查詢功能,那么的話,get提交比post的提交更具有危害性。

黑客擅長的sql注入攻擊,你真的懂嗎?

 

介紹了提交方式,接下來就是我們的sql注入

Sql注入的原理就是客戶端提交的數據和命令被帶入到數據庫被執行,從而被黑客惡意的利用,

首先這里是一個正常的頁面,提交的方式是post,那么我們如何去判斷是否存在sql注入?

黑客擅長的sql注入攻擊,你真的懂嗎?

 

判斷sql注入我們就要用到一些判斷語句

And 1=1 and 1=2 or 1=1 or 1=2 xor 1=1 xor 1=2

首先是and 1=1和and 1=2 ,and 1=1在網站id=1的后輸入比較以post方式提交,那么的話返回的頁面是正常,因為and是與的意思,1等于1嗎??1肯定等于1,那么這里返回的頁面是正常的,當然,最重要的是,這里的sql語句被帶入到數據庫被執行,所以可以判定這里存sql注入。

黑客擅長的sql注入攻擊,你真的懂嗎?

 

執行了and 1=2之后,頁面出現了報錯,因為1不等于2,所以這里的頁面出現了報錯,什么數據也沒查詢出來,那么我們可以判定我們輸入的語句被帶入到數據庫被執行,所以他這個地方存sql注入

黑客擅長的sql注入攻擊,你真的懂嗎?

 

然后就是or 1=1 or 1=2, 到了or 1=2這里,返回的頁面就是正常的,因為前面是真,也就是數據存在的,后面的1=2不成立就是假,所以就是真假為真,真真為假, 假假為真,其實最重要的因素還是sql語句被帶入到數據庫被執行了。

黑客擅長的sql注入攻擊,你真的懂嗎?

 

那么我們如何去利用sql注入獲取我們想要的信息?

判定完是否存在sql語句后,我們這里整理出sql注入的步驟,1、判斷是否存在sql注入 2、查詢 怎么查詢有幾個列名?我們就要使用到order by 3、顯示可注入的位置 4、顯示數據庫名、顯示數據庫的某個表名、顯示數據庫的某個表名的某個列名、最后顯示數據。

那我們前面判斷了是否存在sql注入,那么我們就可以用order by 來猜列數

首先輸入order by 4 他這里報錯了,提示我們沒有4個列數

黑客擅長的sql注入攻擊,你真的懂嗎?

 

輸入order by 3的話,他這里就返回了正常的頁面,說明列數有3個

黑客擅長的sql注入攻擊,你真的懂嗎?

 

知道了列數有3個之后,我們就需要顯示字段位了,也就是可以注入的位置

那么我們執行了and 1=2 union select 1,2,3 就成功顯示了字段位,為什么要前面加了and 1=2?這是因為要讓前面報錯,后面的union select查詢語句才能被執行,最終顯示出了注入攻擊的位置

黑客擅長的sql注入攻擊,你真的懂嗎?

 

顯示出了2和3的位置,也就是說2和3是可注入和查詢的位置,那么的話,我們這里要用到機個內置的函數 database()(顯示出當前的數據庫名)、user()(當前用戶名) version()(mysql數據庫版本信息)、@@datadir 讀取數據庫路徑、@@basedirmysql安裝路徑、table_name顯示表名、column_name顯示列名

知道了上面的幾個數據庫函數后,我們前面講到sql注入的步驟,第一步就是獲取當前網站的數據庫名,因為數據庫有很多不同的數據庫和名字。也有很多不同的網站、

顯示當前的數據庫名

我們把2替換成了database()函數,知道了當前網站的數據庫為security,那么我們接下來是猜security的表名。

黑客擅長的sql注入攻擊,你真的懂嗎?

 

猜表名的話,我們就需要以下語句

information_schema是mysql自帶的數據庫,點號代表下一級的意思,就查出了一個表名

黑客擅長的sql注入攻擊,你真的懂嗎?

 

如果要查當前網站的表名,我們就得加一個where table_schema='數據庫名'

于是就查詢出了當前的數據庫的其中一個表名

黑客擅長的sql注入攻擊,你真的懂嗎?

 

那么如果要列出所有的表名,我們這里要用到group_concat()函數,他這個函數代表所有的意思,列出了數據庫中的所有表名,一共有四個

黑客擅長的sql注入攻擊,你真的懂嗎?

 

那么問題來了,如果說我們要從中獲取數據,我們應該從哪個表名開始?一方面是從users表名,因為user的中文意思是用戶,那么他這里就有可能存用戶的信息,第二個是admin,admin是后臺的意思,那么的話,我們就可以先從這些表開始去弄列名

首先我們選取了users表名,我們要列出所有的列名的話,我們就需要改一下語句,把table改為column

可以看見我把table改為了column,然后后面用table_name=’表名’指定我們要查詢這個表名中的所有列,于是網站就顯示出了id、username、password三個列名

黑客擅長的sql注入攻擊,你真的懂嗎?

 

知道了列名之后,接著就是顯示列名里面的數據,顯示數據就不用那么麻煩了,只要知道列名和用from指定表名,那么頁面就會顯示出用戶的郵箱和賬號密碼了

黑客擅長的sql注入攻擊,你真的懂嗎?

 

好,那么這個就是一方面sql注入的基礎。

最后喜歡我文章的朋友請加圈子關注我們,私信關鍵詞:加群。

就會自動分享給你群號。歡迎大家加入我們的安全大家庭。提高大家的安全意識,提升大家的網絡安全技能一直是我們的初衷和愿景,讓我們共同成為守護信息世界的“SaFeMAN”。

還有可以關注我們微信公眾號,在公眾號上輸入安界網,就可以關注到我們。

分享到:
標簽:注入 sql
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定