{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

如何在不知道MySQL列名的情況下注入出數(shù)據(jù)?

robinrobin 回答0 收藏2
收藏問題

1條回答

Shihira

Shihira

回答于2022-06-28 15:36

SQL注入時(shí),需要從MySQL的某個(gè)表中導(dǎo)出某些數(shù)據(jù)。一般來說,要想導(dǎo)出數(shù)據(jù),你必須知道表名、列名,而這兩個(gè)名字在某些情況下可能你并不知道。

例如,對(duì)于版本小于5.0的MySQL數(shù)據(jù)庫,以及部分有WAF干擾的版本大于5.0的MySQL數(shù)據(jù)庫,你就無法輕易獲得表名、列名。

在這種情況下,也許你會(huì)放棄,僅僅注入出數(shù)據(jù)庫名字,證明漏洞存在就結(jié)束。

無列名注入

我和我的隊(duì)友@aboul3la一起,創(chuàng)建了一個(gè)數(shù)據(jù)庫環(huán)境來模擬被攻擊的目標(biāo),并通過大量的嘗試最終找到了一個(gè)可行方法。 首先展示一下目標(biāo)表users

我們可以看到,這次表的列名有“name”、“password”、“email”、“出birthday”和“added”。 下一步,我們輸入一個(gè)注入中經(jīng)常使用的探明列數(shù)的查詢句式

很好,我們可以注意到,查詢結(jié)果中的列的名稱從name、password、email、birthdate替換為1、2、3、4、5、6,這主要是因?yàn)榍懊娴牟樵冋Z句select 1,2,3,4,5,6。 下一步我們就可以根據(jù)查詢結(jié)果中的新的列名提取數(shù)據(jù),而針對(duì)的數(shù)據(jù)表就是以上的查詢結(jié)果。 使用查詢語句select4from (select 1,2,3,4,5,6 union select * from users)redforce;你就可以將選出第4列數(shù)據(jù),也就是電子郵件地址,


然后依次select 3,select 2等等。
如果要將其帶入實(shí)際的注入環(huán)境中,我們可以融合產(chǎn)生如下payload-1 union select 1,(select`4`from (select 1,2,3,4,5,6 union select * from users)a limit 1,1)-- -。你可以通過不停的修改列名1,2,3,4來提取數(shù)據(jù)。

總而言之 通過這種將未知原列名轉(zhuǎn)換為其他值的方法,你就可以注入出所有的數(shù)據(jù)。 最終payload

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<