如何通過(guò)SQL注入獲得getshell
獲取數(shù)據(jù)庫(kù)信息在某些情況下,禪道的一鍵化安裝程序使用了Windows直接權(quán)限,并將數(shù)據(jù)庫(kù)設(shè)置為root權(quán)限。這使得可以直接導(dǎo)出shell。然而,如果沒(méi)有這樣的高權(quán)限,我們?cè)撊绾潍@取數(shù)據(jù)呢?注入出庫(kù)名和
獲取數(shù)據(jù)庫(kù)信息
在某些情況下,禪道的一鍵化安裝程序使用了Windows直接權(quán)限,并將數(shù)據(jù)庫(kù)設(shè)置為root權(quán)限。這使得可以直接導(dǎo)出shell。然而,如果沒(méi)有這樣的高權(quán)限,我們?cè)撊绾潍@取數(shù)據(jù)呢?
注入出庫(kù)名和表字段名
當(dāng)我們成功進(jìn)行注入并獲得數(shù)據(jù)庫(kù)名稱(chēng)和表字段名稱(chēng)后,我們可能想進(jìn)一步獲取用戶(hù)賬號(hào)和密碼。然而,我們可能會(huì)意外地發(fā)現(xiàn)沒(méi)有數(shù)據(jù)被返回。
利用報(bào)錯(cuò)信息
在發(fā)送請(qǐng)求時(shí),可以嘗試添加一個(gè)單引號(hào)并附上一個(gè)referer,以查看報(bào)錯(cuò)信息。這有助于我們理解問(wèn)題所在。
利用LIMIT后的注入點(diǎn)
這種注入點(diǎn)可以被理解為位于LIMIT語(yǔ)句后面的注入點(diǎn)。由于多語(yǔ)句的使用可能導(dǎo)致錯(cuò)誤效果不明顯,因此我們直接在LIMIT之后進(jìn)行注入。
寫(xiě)文件Getshell
我們可以看到進(jìn)入了call_user_func_array,這意味著我們可以任意實(shí)例化一個(gè)module方法,并且參數(shù)也是可控的。我們可以使用,來(lái)分割參數(shù)。在editor中,我們可以編寫(xiě)一個(gè)文件,其中filePath和fileContent都是可控的,這樣我們就可以任意寫(xiě)入文件。
Exp示例
```php
```
以上是關(guān)于如何通過(guò)SQL注入獲得getshell的一些建議和方法。請(qǐng)記住,在進(jìn)行任何形式的測(cè)試或攻擊時(shí),請(qǐng)遵循道德和合法性原則,并僅在授權(quán)范圍內(nèi)操作。