Platformy Salesforce i ServiceNow mají vestavěné účty hostů pro neautentizované návštěvníky. Tyto účty hostů nelze smazat. Jejich oprávnění – tedy k jakým záznamům a objektům mají přístup – nastavuje každá organizace. Pokud má profil hosta oprávnění ke čtení určitého záznamu, může si ho z internetu kdokoli stáhnout prostřednictvím zcela legitimních API koncových bodů.
Na Salesforce (framework Aura):
/aura nebo /s/sfsites/aura.HostConfigController.getConfigData, aby zjistil, které objekty (Account, Contact, Case, Lead, User, ContentDocument atd.) jsou pro hosta přístupné. SelectableListDataProviderController.getItems k postupnému procházení všech záznamů v každém přístupném objektu. Na Salesforce (framework LWR – Lightning Web Runtime):
POST /webruntime/api/services/data/{version}/graphql?asGuest=trueEntityDefinition a poté čte záznamy pomocí kurzorové paginace. Na ServiceNow:
/api/now/sp/search – nativní vyhledávací API ServiceNow portálu, které je z velké části nedokumentované a neexistují k němu téměř žádné online materiály ani nástroje s otevřeným zdrojovým kódem. Testování možnosti vlastní registrace (Salesforce):
158.220.87.79, hostovaná na VPS od Contabo (německý hosting), překládající se na doménu city-forum.com (doména zaregistrovaná v roce 2002, opuštěná a znovu použita). Go-http-client z knihovny Go, což usnadňuje jeho identifikaci v logách. Pro ServiceNow: Transakční logy platformy (syslog_transaction) nezaznamenávají tělo POST požadavků na /api/now/sp/search. Správci sice vidí, že proběhla automatizovaná vyhledávání a kolik dat bylo vráceno (podle sloupce délky výstupu), ale nemohou zjistit přesné vyhledávací dotazy ani to, které konkrétní záznamy byly staženy.
Pro Salesforce: Provoz představující enumeraci hostem sestává z legitimních, protokolu vyhovujících API volání, která vypadají jako běžný provoz webu. Event Monitoring sice může ukázat objem událostí AuraRequest a Sites od uživatelů-hostů, ale logy ukazují pouze to, že data byla požadována, nikoli konkrétní obsah toho, co bylo vráceno v GraphQL nebo Aura odpovědích.
Jinými slovy: můžete vidět, že útočník byl přítomen a kolik dat stáhl, ale nedokážete rekonstruovat, které konkrétní záznamy nebo pole extrahoval.
sp_portal, m2m_sp_portal_search_source a sp_search_source. Odpojte všechny vyhledávací zdroje, které veřejný portál nepotřebuje.is_scripted_source, data_fetch_script a to, zda používá GlideRecordSecure (vynucující ACL) nebo prostý GlideRecord (který je nevynucuje).kb_uc_can_read_mtom odkazy raději než slepě upravovat pravidla sdílení.getItems a getConfigData z USER_TYPE = 'Guest'/webruntime/.../vNN.0/graphql a volání na /SiteRegister a /CommunitiesSelfReg.syslog_transaction: Sledujte požadavky na /api/now/sp/search od hostů. Seřaďte podle délky výstupu – řádky vracející výrazně více dat než malá základní hodnota prázdného výsledku indikují vyhledávání, která vrátila obsah.