sql注入(二) 聯合查詢及實際用途

2021-10-05 09:24:37 字數 1492 閱讀 3859

假設先前已存在兩個表create_test和goods:

解決:使用聯合查詢:

侷限:前提是這兩個表的列數必須相同(該處均為3列)。

解決:實戰1:也可以通過如下語句,來猜測確定goods表中的列數 ,(注意此處預設不知道sqltest的列數及其中的內容),當select後面為n個任意數字,代表選中n列,不管在sqltest表中是否存在這些內容:

實戰2在已知goods表的列數情況下,進一步 猜測sqltest的列名 ,例如圖一為在第二個位置猜測sqltest中有乙個列名為name,則如果真實存在,會在聯合語句中name替代的位置(這裡是替代第二個,而在sqltest中name實際位於第一列),顯示所有name的內容;圖二為猜測了sqltest中不存在的列名:

實戰3也可以插入乙個函式來 檢視該資料庫的版本 (該版本為8.0.11)

解決:實戰4可以 通過and 加 exists函式來對其列名進行猜測 (若存在name列,雖然無法顯示,但是會成功執行;下面則是猜測stu_id,由於不存在該列名,因此導致前半句select * from goods where id = 2也無法順利執行從而報錯),作用類似於and 1=1

實戰5可能**過濾了union欄位,但是可能沒有過濾大小寫的問題,即在**url中輸入的union可以修改為union,union,union等,即:繞過-------原理:url中區分了大小寫,而sql語句在執行時不區分大小寫

SQL注入 聯合查詢注入

注入條件 頁面有顯示位,即在乙個 的正常頁面,服務端執行sql語句查詢資料庫中的資料,客戶端將資料展示在頁面中,這個展示資料的位置就叫顯示位。找的注入點 查詢列數 找到顯示位 獲取列中的資訊 注入點 查詢列數 order by 猜測的列數 order by 11 返回正常,有11列 order by...

聯合查詢SQL注入

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

SQL使用(二) 聯合查詢和單查詢的優缺點

聯合查詢可以通過多步單查詢來完成,那麼什麼時候用聯合查詢,什麼時候用單查詢呢?它們的優缺點各是什麼呢?想必大家跟我一樣也存在這種疑惑,我經過搜尋相關資料,現對聯合查詢和單查詢進行如下總結 首先從我個人經歷出發談談我的感受,在學校的時候雖然也學過聯合查詢等知識,但是由於自己嫌記得東西太多就沒有好好去研...