elinize sağlık alternatif olarak güzel olmuş phpmyadminde dikkatimi çeken birşey oldu
r.Post("/databases/{dbId}/pma-token", pmaH.TokenIste)burda sadece db idi aliyor MusteriScobe yok burda ahmet mehmetin phpmyadmine rahatlıkla girebiliyor
func (h *Handlers) TokenIste(w http.ResponseWriter, r *http.Request) {
dbID, _ := strconv.ParseInt(chi.URLParam(r, "dbId"), 10, 64)
err := h.DB.QueryRowContext(r.Context(),
`SELECT db.db_user, db.db_pass_plain, db.db_name, db.domain_id, d.is_demo
FROM db_accounts db JOIN domains d ON d.id=db.domain_id
WHERE db.id=?`, dbID).Scan(...)yani db mehmetin domainimi sormuyor
POST /api/v1/databases/42/pma-token
Authorization: Bearer <ahmetnın JWT'si>
kötü biri gelip hosting alırsa ve oturup db idleri tek tek denerse illaki bir tanesi tutar sayı sonucta diger müşterinin phpmyadmine erişip direk dbsini indire biliyor
yabi sadece db idi sordugu için direk phpmyadmine açıp mehmetin dbsine erişe biliyor
kiritik seviyesi çok yüksek bilginiz olsun