Sitwazzjoni attwali: PHP2Shell. Żewġ vulnerabbiltajiet kritiċi ta' PHP (CVSS 9,2) jippermettu kodiċi malizzjuż mingħajr login. Patches mill-21/10/2026.X'għandu jsir issa →

Iċċekkja d-database għal kodiċi introdott

Min jivverifika biss il-fajls jinjora nofs il-problema. Hekk tfittex fil-kontenut, fl-issettjar, fit-triggers u fil-kontijiet tad-database kodiċi introdott, bil-qari biss u fuq kopja.

Stat 6 min. qariSkoperta u forensika

Fil-qosor: Biex tivverifika d-database għal kodiċi malizzjuż, fittex f'esportazzjoni jew kopja b'queries li jaqraw biss skripts introdotti, indirizzi barranin u kodiċi moħbi fil-kontenut u fl-issettjar. Ivverifika wkoll triggers, avvenimenti skedati, proċeduri maħżuna u l-utenti tad-database. Naddaf biss wara l-evalwazzjoni u qatt b'tiftix u sostituzzjoni għomja, għax data serjalizzata inkella tinkiser.

Il-punt għomja ta' ħafna tindif

Wara dħul bla permess il-biċċa l-kbira tal-operaturi jivverifikaw il-fajls. Jissostitwixxu l-qalba tas-CMS, iħassru fajls suspettużi ta' PHP u jerġgħu jinstallaw l-estensjonijiet. Il-websajt wara tidher nadifa, u ġimgħa wara terġa' tirridirezzjona lejn paġni barranin. Ir-raġuni ħafna drabi tinsab fid-database, li waqt it-tindif ittieħdet kif kienet.

Għall-attakkanti d-database hija moħba attraenti. Skript f'widget jiġi mwassal fuq kull paġna. Issettjar tal-indirizz mibdul jiddevja lill-viżitaturi kollha. Kont ta' amministratur addizzjonali jiftaħ il-bieb għal aktar tard. L-ebda wieħed minn dawn ma jidher fi skan tal-fajls.

Wara PHP2Shell, il-vulnerabbiltajiet CVE-2026-109618 u CVE-2026-109619 b'eżekuzzjoni ta' kodiċi mingħajr login, id-database għalhekk tagħmel parti minn kull verifika. Min jista' jesegwixxi kodiċi fuq is-server jista' bħala regola jaqra d-dettalji tad-database mill-konfigurazzjoni u jikteb hemmhekk kif irid. Kif l-applikazzjoni tikkomunika fil-fatt mad-database jispjegah PHP u databases: PDO u mysqli.

Fejn jinħbew kodiċi malizzjuż fid-database

Post tas-sejba Kontenut tipiku Effett
Kontenut (artikoli, paġni, prodotti) blokki <script>, links inviżibbli, <iframe> kodiċi malizzjuż jew spam għall-viżitaturi
Issettjar u għażliet indirizz tal-websajt mibdul, skripts barranin f'widgets jew għażliet tat-theme ridirezzjonijiet, skripts fuq il-paġni kollha
Tabelli tal-utenti amministraturi addizzjonali aċċess permanenti
Triggers kodiċi li f'kull ħażna jibdel il-kontenut il-kodiċi malizzjuż jirritorna wara t-tindif
Avvenimenti skedati kompiti rikorrenti fis-server tad-database bidliet mingħajr aċċess tal-web
Utenti tad-database kontijiet addizzjonali b'drittijiet wiesgħa aċċess barra mis-CMS

L-aħħar tliet linji spiss jiġu injorati, għax ma jinsabux fit-tabelli tas-CMS imma fis-server tad-database innifsu.

Fil-ħwienet online sejba waħda tixraq attenzjoni partikolari: issettjar li permezz tiegħu jiddaħħlu skripts addizzjonali fil-checkout u fit-tmiem tal-ordni. Skript barrani f'dan il-post jista' jaqra l-input tal-klijenti qabel ma jintbagħat ikkriptat lill-fornitur tal-pagamenti. Għalhekk ivverifika b'mod immirat l-oqsma kollha għal kodiċi ta' header u footer, inklużjonijiet ta' traċċar u issettjar tad-disinn li jaffettwaw il-paġni tal-kaxxa.

Ftakar ukoll f'databases oħra fuq l-istess server. Kopji ta' test u staging, stadji qodma tal-proġett jew databases ta' websajts oħra spiss jinsabu ħdejn u jistgħu jintlaħqu bl-istess dettalji tal-aċċess. Dak li jinstab fid-database live għandu jiġi vverifikat hemmhekk ukoll, qabel ma kopja terġa' tintuża aktar tard bħala bażi.

Iċċekkja d-database għal kodiċi malizzjuż: kontenut u issettjar

Aħdem fuq esportazzjoni. Hija fl-istess ħin salvataġġ tal-provi u bażi tat-tiftix. L-esportazzjoni tista' tiġi ffittxija bħala fajl tat-test, mingħajr ma jitgħabba d-database li taħdem:

# Oħloq esportazzjoni konsistenti (id-dettalji tal-aċċess jintalbu)
mysqldump --single-transaction --routines --triggers --events -u BENUTZER -p DATENBANK > export.sql
sha256sum export.sql > export.sql.sha256

# Għodd mudelli tipiċi fl-esportazzjoni
grep -oiE '<script[^>]{0,80}' export.sql | sort | uniq -c | sort -rn | head -30
grep -oiE '(eval\(|base64_decode|fromCharCode|document\.write|atob\()' export.sql | sort | uniq -c
grep -oiE 'https?://[a-z0-9.-]+' export.sql | sort | uniq -c | sort -rn | head -50

L-aħħar query telenka d-dominji kollha li jidhru fid-database, skont il-frekwenza. Dominji barranin li ħadd fit-tim ma jafhom huma l-aqwa kandidati. Għal queries immirati fid-database innifsha huma adattati kmandi SELECT. L-eżempju juża tabelli ta' WordPress; il-prefiss u l-ismijiet tat-tabelli ta' sistemi oħra jinsabu fid-dokumentazzjoni tagħhom:

-- Issettjar b'skripts jew b'funzjonijiet suspettużi
SELECT option_name, LENGTH(option_value) AS laenge
FROM wp_options
WHERE option_value LIKE '%<script%'
   OR option_value LIKE '%eval(%'
   OR option_value LIKE '%base64_decode%'
ORDER BY laenge DESC;

Daħliet b'kontenut kbir ħafna jixirqilhom attenzjoni partikolari. Sfond dwar moħbijiet speċifiċi ta' WordPress jagħti l-gwida Sib backdoors f'WordPress.

Triggers, avvenimenti u kontijiet tad-database

Triggers u avvenimenti skedati f'ħafna applikazzjonijiet tal-web mhumiex previsti xejn. Jekk jeżistu, xi ħadd għandu jkun jista' jispjega għaliex. Dawn il-queries jaqraw biss mit-tabelli tas-sistema ta' MySQL u MariaDB:

-- Triggers fid-databases kollha
SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_OBJECT_TABLE, CREATED
FROM information_schema.TRIGGERS;

-- Avvenimenti skedati
SELECT EVENT_SCHEMA, EVENT_NAME, STATUS, CREATED, LAST_EXECUTED
FROM information_schema.EVENTS;

-- Proċeduri u funzjonijiet maħżuna
SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, CREATED
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA NOT IN ('mysql', 'sys', 'information_schema', 'performance_schema');

-- Utenti tad-database
SELECT user, host FROM mysql.user ORDER BY user;

Jekk l-applikazzjoni tiegħek tuża PostgreSQL jew sistema oħra ta' database, it-tabelli tas-sistema u l-kmandi jisimhom differenti; il-prinċipju jibqa' l-istess. Għall-analiżi jixraq utent tad-database separat li jista' jaqra biss. Hekk anke żball tat-tajpjar f'query ma jibdel xejn, u l-verifika ma tħallix traċċi fid-data.

Trigger li jehmeż kodiċi meta tinħażen artiklu jispjega għaliex il-kodiċi malizzjuż jirritorna wara kull tindif. Utenti mhux magħrufa tad-database jappartjenu għall-verifika tal-kontijiet daqs il-kontijiet tal-amministratur fis-CMS; aktar dwar dan taħt Sib kontijiet barranin ta' amministratur fis-CMS u fis-server.

Naddaf sewwa, mingħajr ma teqred data

It-tindif huwa l-aktar parti delikata. Din is-sekwenza ppruvat ruħha:

  1. Evalwa s-sejbiet: kull hit jiġi kklassifikat bħala magħruf, spjegabbli bla ħsara jew barrani. Kodiċijiet ta' traċċar u ta' mapep spiss ikunu leġittimi.
  2. Agħlaq il-bieb tad-dħul: ġib PHP għal stat rranġat (8.5.12, 8.4.27, 8.3.36, 8.2.35 jew backport ikkonfermat), erġa' ibda l-workers kollha, aġġorna l-applikazzjoni.
  3. Neħħi b'mod immirat: naddaf kontenut barrani permezz tal-applikazzjoni jew b'għodod li jittrattaw sew data serjalizzata. Ħassar triggers, avvenimenti u kontijiet barranin.
  4. Biddel id-dettalji tal-aċċess: password ġdida tad-database, daħħalha fil-konfigurazzjoni tal-applikazzjoni, illimita d-drittijiet tal-utent tal-applikazzjoni għad-database tiegħu stess.
  5. Ivverifika mill-ġdid: irrepeti l-queries tat-tiftix wara ftit jiem.
Importanti

Tissostitwixxi xejn b'tiftix u sostituzzjoni fl-esportazzjoni SQL. Data serjalizzata ta' PHP taħżen it-tul ta' kull string. Jekk it-tul jinbidel, l-issettjar isir illeġibbli, u l-websajt tista' tfalli.

Ridirezzjonijiet li jidhru minkejja database nadifa għandhom il-kawża tagħhom f'saff ieħor. L-artikolu Il-websajt tirridirezzjona lejn paġni barranin jgħin fl-irrestrinġiment.

Kif tgħin PHP SOS b'mod konkret?

  • Insalvaw id-database b'checksum u nfittxu fl-esportazzjoni skripts, dominji barranin u kodiċi moħbi.
  • Nivverifikaw triggers, avvenimenti, proċeduri u utenti tad-database li jinsabu barra mis-CMS.
  • Innaddfu s-sejbiet bħala parti mit-Tneħħija tal-malware, mingħajr ma nagħmlu ħsara lid-data serjalizzata.
  • Nillimitaw id-drittijiet tal-utent tal-applikazzjoni u nirrepetu l-verifika wara t-tindif.

Mistoqsijiet frekwenti

Jista' jkun hemm kodiċi malizzjuż fid-database?

Iva. L-attakkanti jiktbu JavaScript f'artikoli, deskrizzjonijiet ta' prodotti jew widgets, ibiddlu l-issettjar tal-indirizzi għal ridirezzjonijiet jew joħolqu kontijiet ta' amministratur. F'MySQL u MariaDB barra minn hekk triggers u avvenimenti skedati jistgħu jibdlu d-data. Skan tal-fajls ma jsib xejn minn dan.

Kif infittex fid-database mingħajr ma neqred xejn?

Aħdem fuq esportazzjoni jew kopja u uża biss queries SELECT. Esportazzjoni tista' wkoll tiġi ffittxija bħala fajl tat-test b'grep. Il-bidliet isiru biss meta kull sejba tkun ġiet evalwata u jkun hemm backup.

Għaliex m'għandix innaddaf is-sejbiet bit-tiftix u s-sostituzzjoni fl-esportazzjoni?

Ħafna CMS jaħżnu l-issettjar bħala data serjalizzata ta' PHP, fejn it-tul ta' kull string jinħażen ukoll. Sostituzzjoni tibdel it-tul, imma mhux l-indikazzjoni, u l-issettjar isir illeġibbli. Naddaf permezz tal-applikazzjoni jew b'għodod li jifhmu data serjalizzata.

Kull skript fid-database huwa suspettuż?

Le. Kodiċijiet ta' traċċar, mapep, vidjows jew widgets tal-chat jinħażnu wkoll bħala skript. Id-deċiżiv huwa jekk xi ħadd fit-tim jafx id-daħla u l-indirizz tad-destinazzjoni.

Sorsi

Kuntatt immedjat

Kull siegħa tgħodd. Iktbu lilna issa.

Iddeskrivu fil-qosor is-sistema, il-verżjoni ta' PHP u dak li osservajtu. Nikkuntattjawkom, niċċaraw is-sitwazzjoni u naħdmu mill-bogħod sakemm l-inċident jingħalaq u jiġi ddokumentat.

Għajnuna immedjata