最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單聊聊SQL注入的原理以及一般步驟

 更新時間:2022年02月21日 09:16:02   作者:iamblackcat  
所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令,下面這篇文章主要給大家介紹了關(guān)于SQL注入的原理以及一般步驟的相關(guān)資料,需要的朋友可以參考下

原理

SQL注入是一種攻擊方式,在這種攻擊方式中,惡意代碼被插入到字符串中,然后該字符串傳遞到SQL Server的實例以進行分析和執(zhí)行。任何構(gòu)成SQL語句的過程都應(yīng)進行注入檢查,因為SQL Server將執(zhí)行其接收到的所有語法有效的查詢。

(摘自微軟 SQL注入,但要注意的是,SQL注入并不限于SQL Server,幾乎任何數(shù)據(jù)庫引擎都存在這個問題)

一般利用步驟

1.判斷注入點

判斷注入點有方面的含義,一是找到可能存在注入的位置,二十判斷該處能否進行注入。在靶場環(huán)境下,我們已經(jīng)知道,GET的參數(shù)id是與數(shù)據(jù)庫進行交互的點,接下來判斷能夠進行注入。

id為1,成功查詢,回顯正常

id為1',數(shù)據(jù)庫報錯,由報錯信息猜測閉合方式為單引號

id為1' --+,成功查詢,回顯正常,印證猜測,

id分別為1' and 1=1 --+和1' and 1=2--+,通過回顯情況,進一步判斷能否注入

1=1為永真,當1成功查詢,若1=1也成功查詢,則頁面返回正常,1=2為永假,因此若1=2得到執(zhí)行,則頁面必返回不正常。通過對比二者返回結(jié)果,可知改點能否進行注入。

2.判斷查詢字段數(shù)

為了將我們想要的結(jié)果能夠顯示在頁面上,我們需要用到聯(lián)合查詢,聯(lián)合查詢的條件之一是必須保證前后查詢語句的字段數(shù)相等,因此,我們需要判斷查詢的字段數(shù)。

一般采用order by或union select如下:

order by 大于3的數(shù)時頁面返回不正常,小于等于3時返回正常,得知原查詢語句的字段數(shù)為3?;?/p>

當我們聯(lián)合查詢4列時,得到了查詢語句由不同的列的錯誤,查詢3列時:

成功查詢,得原查詢語句只有三列。

3.查數(shù)據(jù)庫名、版本號、用戶名等信息

union聯(lián)合查詢的規(guī)則是當前一個查詢失敗時執(zhí)行第二個查詢,前面我們知道了查詢有三個字段,接下來將傳入id為0,判斷是三個字段的回顯位置。

再由數(shù)據(jù)庫內(nèi)置的version()、database()、user()查詢出版本號、數(shù)據(jù)庫當前名和當前用戶。

4.查詢表名

前面我們查詢得知,當前數(shù)據(jù)庫版本為5.5.53,在MySQL5.5后版本都內(nèi)置了數(shù)據(jù)庫information_schema。它存儲了數(shù)據(jù)庫中所有的表名、字段名等信息。從而可以構(gòu)造查詢語句,獲取表名。

payload:?id=0' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3--+

這里的group_concat()為SQL語句內(nèi)置的聚合函數(shù),用來將查詢的結(jié)果作為一個字符串輸出。

(使用payload:?id=0' union select 1,(select group_concat(schema_name) from information_schema.schemata),3 --+

5.查詢字段名

知道了所有的表名,接下來選擇一個表,查詢其中所有的字段名。

payload:?id=0' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users'),3--+

6.查詢記錄內(nèi)容

有了表名和字段名,便可以爆出數(shù)據(jù)庫中的記錄了。

payload:?id=0' union select 1,group_concat(username),group_concat(password) from users --+

以上是一般SQL注入的流程,當然還有一些像報錯注入,請求頭注入、select into outfile 寫入一句話木馬等姿勢未介紹。后續(xù)學(xué)習(xí)過程中再逐漸補充。

總結(jié)

到此這篇關(guān)于SQL注入的原理以及一般步驟的文章就介紹到這了,更多相關(guān)SQL注入的原理及步驟內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Navicat運行sql文件導(dǎo)入數(shù)據(jù)不全或?qū)胧〉慕鉀Q方案

    Navicat運行sql文件導(dǎo)入數(shù)據(jù)不全或?qū)胧〉慕鉀Q方案

    最近導(dǎo)出數(shù)據(jù)庫到另一個服務(wù)器,遇到這個問題,下面這篇文章主要給大家介紹了關(guān)于Navicat運行sql文件導(dǎo)入數(shù)據(jù)不全或?qū)胧〉慕鉀Q方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 交互分布式系統(tǒng)下如何生成唯一序列

    交互分布式系統(tǒng)下如何生成唯一序列

    在分布式系統(tǒng)中,由于涉及到多個不同業(yè)務(wù)module的交互,以及高并發(fā)的場景。我們需要系統(tǒng)能夠生成一個跨業(yè)務(wù)module的全網(wǎng)唯一序列號,來保證我們業(yè)務(wù)操作的獨立性和唯一性
    2022-01-01
  • 數(shù)據(jù)庫查詢性能需注意幾點經(jīng)驗

    數(shù)據(jù)庫查詢性能需注意幾點經(jīng)驗

    這篇文章主要介紹在程序編程中,需要注意數(shù)據(jù)庫的性能問題,否則會導(dǎo)致數(shù)據(jù)庫與頁面打開都很慢
    2013-05-05
  • Hive?HQL支持2種查詢語句風(fēng)格

    Hive?HQL支持2種查詢語句風(fēng)格

    這篇文章主要為大家介紹了Hive?HQL支持2種查詢語句風(fēng)格示例語法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 如何取得一個表的所有字段名用逗號分割

    如何取得一個表的所有字段名用逗號分割

    如何取得一個表的所有字段名用逗號分割...
    2006-12-12
  • DophinScheduler定期刪除日志實例代碼

    DophinScheduler定期刪除日志實例代碼

    Apache DophinScheduler 運行一段時間后,實例調(diào)度日志越來越多,需要定期清理,這篇文章主要介紹了DophinScheduler定期刪除日志實例代碼,需要的朋友可以參考下
    2014-04-04
  • SQL行轉(zhuǎn)列、列轉(zhuǎn)行的簡單實現(xiàn)

    SQL行轉(zhuǎn)列、列轉(zhuǎn)行的簡單實現(xiàn)

    這篇文章主要給大家介紹了關(guān)于SQL行轉(zhuǎn)列、列轉(zhuǎn)行的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用SQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 多條件查詢的程序

    多條件查詢的程序

    在一個網(wǎng)站中,常常會使用到查詢功能。假設(shè)一個企業(yè)內(nèi)部網(wǎng)中,用戶信息里通常會涉及到工號、姓名、性別、學(xué)歷、職業(yè)、職稱、身份證號碼、手機號碼、座機號碼、傳真號碼、郵政編號、通訊地址等信息。
    2009-05-05
  • 利用帶關(guān)聯(lián)子查詢Update語句更新數(shù)據(jù)的方法

    利用帶關(guān)聯(lián)子查詢Update語句更新數(shù)據(jù)的方法

    這篇文章主要介紹了利用帶關(guān)聯(lián)子查詢Update語句更新數(shù)據(jù)的方法,需要的朋友可以參考下
    2014-08-08
  • Navicat使用快速入門教程

    Navicat使用快速入門教程

    這篇文章主要介紹了Navicat使用快速入門教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論

杭锦旗| 龙游县| 大田县| 克拉玛依市| 天水市| 台东县| 布拖县| 莆田市| 通州区| 东乡| 思茅市| 思南县| 桓台县| 会昌县| 长治县| 巴里| 阜康市| 罗山县| 正镶白旗| 海淀区| 沭阳县| 连南| 德兴市| 河池市| 观塘区| 潮安县| 高邑县| 临沂市| 德安县| 上栗县| 罗城| 钟祥市| 盐亭县| 梅州市| 潮州市| 新昌县| 资阳市| 汕头市| 鹰潭市| 融水| 安泽县|