• 18-07-2026, 00:41:55
    #2
    Elinize sağlık, videolarınız çok hoşuma gidiyor.
  • 18-07-2026, 10:34:02
    #3
    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
  • 18-07-2026, 11:40:49
    #4
    yapay zekaya geniş düşünemiyor işte promtu veremediği için
    OmerAti adlı üyeden alıntı: mesajı görüntüle
    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
  • 18-07-2026, 11:43:24
    #5
    OmerAti adlı üyeden alıntı: mesajı görüntüle
    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

    Desteğiniz için teşekkürler. Bu açığı fixledik ve başka benzer açıklar var mı diye kontrol ettik ek olarak 19 açık daha bulduk hepsini inceliyoruz. Bir kaç saate kadar güncelleme yayınlayacağız panelden tek tıkla güncellemeleri alabilirsiniz.
  • Dün, 16:52:16
    #6
    Elinize sağlık hocam