iOS UIPasteboard
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Deljenje podataka unutar i između aplikacija na iOS uređajima olakšano je mehanizmom UIPasteboard
, koji je podeljen u dve glavne kategorije:
Sistemsku opštu pasteboard: Ova se koristi za deljenje podataka sa bilo kojom aplikacijom i dizajnirana je da zadrži podatke između ponovnog pokretanja uređaja i deinstalacija aplikacija, funkcija koja je dostupna od iOS 10.
Prilagođene / imenovane pasteboard: Ove su specifične za deljenje podataka unutar aplikacije ili sa drugom aplikacijom koja deli isti tim ID, i nisu dizajnirane da traju duže od trajanja procesa aplikacije koja ih kreira, prema promenama uvedenim u iOS 10.
Bezbednosna razmatranja igraju značajnu ulogu prilikom korišćenja pasteboard-a. Na primer:
Ne postoji mehanizam za upravljanje dozvolama aplikacija za pristup pasteboard-u.
Da bi se smanjio rizik od neovlašćenog praćenja pasteboard-a u pozadini, pristup je ograničen na trenutke kada je aplikacija u prvom planu (od iOS 9).
Korišćenje trajnih imenovanih pasteboard-a se ne preporučuje zbog zabrinutosti o privatnosti.
Universal Clipboard funkcija uvedena sa iOS 10, koja omogućava deljenje sadržaja između uređaja putem opšteg pasteboard-a, može se upravljati od strane programera kako bi se postavila isteka podataka i onemogućio automatski prenos sadržaja.
Osiguranje da osetljive informacije nisu nenamerno sačuvane na globalnom pasteboard-u je ključno. Pored toga, aplikacije bi trebale biti dizajnirane da spreče zloupotrebu podataka iz globalnog pasteboard-a za nenamerne radnje, a programeri se podstiču da implementiraju mere za sprečavanje kopiranja osetljivih informacija u međuspremnik.
Za statičku analizu, pretražujte izvorni kod ili binarni fajl za:
generalPasteboard
kako biste identifikovali korišćenje sistemske opšte pasteboard.
pasteboardWithName:create:
i pasteboardWithUniqueName
za kreiranje prilagođenih pasteboard-a. Proverite da li je trajnost omogućena, iako je ovo zastarelo.
Dinamička analiza uključuje povezivanje ili praćenje specifičnih metoda:
Pratite generalPasteboard
za sistemsku upotrebu.
Pratite pasteboardWithName:create:
i pasteboardWithUniqueName
za prilagođene implementacije.
Posmatrajte pozive zastare metode setPersistent:
kako biste proverili postavke trajnosti.
Ključni detalji koje treba pratiti uključuju:
Imena pasteboard-a i sadržaj (na primer, proveravanje stringova, URL-ova, slika).
Broj stavki i tipovi podataka prisutni, koristeći standardne i prilagođene provere tipova podataka.
Opcije isteka i lokalno samo inspekcijom metode setItems:options:
.
Primer korišćenja alata za praćenje je objection-ov monitor pasteboard-a, koji proverava generalPasteboard svake 5 sekundi za promene i ispisuje nove podatke.
Evo jednostavnog primera JavaScript skripte, inspirisane pristupom objection-a, za čitanje i logovanje promena iz pasteboard-a svake 5 sekundi:
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)