Dom Prevencija Univerzalni softver za optičke salone, oftalmološke klinike, sobe za korekciju kontakta. Univerzalni softver za optičke salone, oftalmološke klinike, sobe za korekciju kontakta Nastavak dostupan t

Univerzalni softver za optičke salone, oftalmološke klinike, sobe za korekciju kontakta. Univerzalni softver za optičke salone, oftalmološke klinike, sobe za korekciju kontakta Nastavak dostupan t

Univerzalni softver dizajniran posebno za optičke salone, oftalmološke klinike, QC ordinacije i oftalmologe.
Kvalitativno novi nivo rada za optičke salone i oftalmologe.

Računarski program "ARMO plus"

(medicinsko knjigovodstvo i trgovina)

  • Jedinstvena datoteka kupaca na svim radnim mjestima i poslovnicama.
  • Fleksibilan sistem popusta, rad sa diskontnim karticama.
  • Održavanje i računovodstvo veleprodaje i maloprodaje, usluge proizvodnje i popravke naočara, medicinske usluge.
  • Brzo unosite i pretražujte informacije po imenu, koristeći kodove, putem skenera bar kodova.
  • Optimizacija zahtjeva za isporuku robe pomoću šablona. Minimiziranje inventara.
  • Automatski unos podataka o medicinskom pregledu i generisanje medicinskih bilješki.
  • Izdavanje recepata i automatizacija formiranja narudžbi za naočare. Obračun usluga doktora i magistra.
  • Ciljana isporuka operativnih informacija korištenjem SMS poruka za pozivanje klijenata na termin za konsultacije ili zakazanu zamjenu sočiva; obavještavanje o dionicama kompanije.
  • Zbirni i detaljni izvještaji o kretanju gotovine i robe, tokovima kupaca, kadrovskom radu, finansijskim rezultatima.
  • Mogućnost preuzimanja podataka za naknadnu upotrebu u 1C: računovodstvu, online trgovini i drugim programima.
  • Praćenje individualne aktivnosti zaposlenih (prodaja, upućivanje na preglede, davanje popusta klijentima i sl.).
  • Konfiguriranje korisničkog pristupa funkcijama programa.
  • Automatska razmjena podataka između udaljenih radnih stanica (filijala).
  • Visok stepen zaštite od neovlašćenog pristupa i kopiranja informacija. Automatsko arhiviranje baze podataka.

"ARMO plus" je sistem koji koristi tehnologije distribuirane baze podataka

Dizajniran za automatizaciju:

Obavljanje veleprodaje i maloprodaje;

Prijave za nabavku robe, kontrolu kretanja robe i preostale robe na radnim mjestima;

Vođenje elektronskog dosijea klijenata sa podacima sa oftalmoloških pregleda, dnevnika konsultativnih pregleda, izdavanja recepata i naloga za naočare;

Formiranje i ispis podataka o medicinskom pregledu;

Generisanje izveštaja o kretanju gotovine i robe, tokovima kupaca i rezultatima njihovih anketa.

Za organizaciju pouzdanog i sigurnog rada, program pruža podjelu na uloge koje određuju prava korisnika i njihov pristup informacijama. Tehnologije distribuiranu bazu podataka dozvoliti da dirigujete rad mreže optičarskih radnji i oftalmoloških ordinacija.

Imenici i dokumenti

Za pohranjivanje i sistematizaciju podataka, brzo popunjavanje dokumenata, izvještaja, kartona pacijenata itd. obezbeđeno referentne knjige. Direktoriji imaju korisničko sučelje i rad s njima je intuitivan Uz pomoć dokumenata unose se podaci o poslovnim i finansijskim transakcijama, upućuju se zahtjevi za robom, unose se stanja Pristup direktorijumima i dokumentima određuje administrator programa,dodjeljivanje specifičnih "prava" korisnicima

Mogućnost istovremenog izvođenja različitih operacija

Klijentski fajl

Posebnu ulogu u ARMO Plus ima održavanjeelektronski klijentski fajl. Jedinstveni fajl klijenta sadrži podatke o primarnim podacima, anamnezi, dijagnozi, posetama, dnevnik pregleda i oftalmoloških pregleda, recepte, narudžbine za naočare, podatke o kupovini, prijavama i avansima klijenta. Program generiše izveštaje o prodaji, narudžbinama i zahtevima klijenata i izvode sa oftalmoloških pregleda. Za klijente je uspostavljena fleksibilna shema popusta. Postoji sistem obavještavanja putem SMS i e-mail poruka.


Osnovni izvještaji u ARMO Plus

  • zbirni i detaljni izvještaji o prihodima, rashodima, bilansima, prometu
  • izvještaji o prihodima
  • prethodni izvještaji o dokumentima i dosijeima
  • izvještaje o kontroli cijena potrošnog materijala
  • izvještaji o prijavama i narudžbama naočala
  • izvještaji o roku trajanja
  • dokument izveštaji
  • izvještaji o klijentima, očekivane posjete, izvori klijenata
  • izvještaji o popustima za kupce
  • sažetak i detaljni izvještaji o osoblju

Osim računovodstvenih i analitičkih funkcija, izvještaji se koriste za praćenje rada osoblja, prodaje i tokova kupaca.

Distribuirana baza podataka i razmjena podataka

Tehnologija distribuirane baze podataka omogućava rad geografski udaljenih optičara, oftalmoloških ordinacija i filijala. Informacije se međusobno prenose putem elektronskih paketa za razmjenu. Zbog toga se postiže sinhronizacija podataka na udaljenim radnim stanicama. Ovako se formira objedinjeni dosije pacijenata i baza podataka referentnih i dokumentarnih informacija Firme koje rade sa ARMO Plus mogu međusobno razmjenjivati ​​podatke elektronski.


Usluga administracije baze podataka

Pouzdanost rada je osigurana pomoću konzervacija Baza podataka Sačuvani podaci uvijek mogu biti restaurirati. Za komprimiranje baze podataka omogućeno je istovar i čišćenje podataka. ARMO plus konzerva prenesite podatke u program 1C:Enterprise, Excel, online prodavnicu.

U Joomli, nakon uspješne registracije, korisnici se po defaultu preusmjeravaju na a stranica za prijavu(ako nalog ne treba da se aktivira). Odatle (nakon prijave) korisnici se preusmjeravaju na korisnički profil stranica. Ovo se dešava čak i ako imate Preusmjeravanje prijave postavljeno na nešto drugo u Modul obrasca za prijavu.

Da biste promijenili ovo ponašanje, možete preusmjeriti korisnike nakon registracije na bilo koju drugu stranicu na vašoj web stranici.
Da biste to učinili, morate urediti osnovni Joomla fajl. Imajte na umu da vaše promjene mogu biti prepisane ažuriranjem Joomla. Uvijek dokumentirajte promjene koje napravite u osnovnim Joomla datotekama tako da ih možete brzo ponoviti ako je potrebno.

Otvori datoteku:
komponente/com_users/controllers/registration.php

Pomaknite se do samog dna. Početni red 162 ili tako imat ćete tekući kod:

if ($return === "adminactivate" ) ( $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ) ; ) else if ($return == = "useractivate" ) ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=registration&layout=complete", lažno ) ); ) else ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=login", lažno ) ); )

U ovoj sekciji imate 3 linka koji počinju index.php?

  • Prvi () se izvršava nakon registracije korisnika ako nalog mora biti aktiviran od strane administratora
  • Sekunda( index.php?option=com_users&view=registration&layout=complete), ako korisnik mora aktivirati nalog
  • Treće ( index.php?option=com_users&view=login), ako aktivacija naloga nije potrebna.

Zamijenite linkove ovisno o vrsti registracije koju koristite sa PUNIM URL-om vaše stranice za preusmjeravanje i gotovi ste.
Na primjer, ako aktivacija korisnika na mojoj web stranici nije potrebna i želim preusmjeriti korisnike nakon registracije na http://www.mywebsite.com/welcome-reg ažurirani kod će biti:

// Preusmjeravanje na ekran profila. if ($return === "adminactivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_VERIFY") ) ; $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", lažno ) ); ) else if ($return === "useractivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_ACTIVATE") ) ; $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", lažno ) ); ) else ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_SAVE_SUCCESS") ) ; $this -> setRedirect(JRoute::_( "http://www.mywebsite.com/welcome-reg" , lažno ) ); )

Bez obzira na koju stranicu vaše web stranice preusmjeravate, sistemska poruka " Hvala na registraciji..." će i dalje biti prikazano. Ako ne želite ovu poruku, uklonite cijeli red iznad vašeg URL-a za preusmjeravanje. npr. $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));

Ako ne zahtijevate aktivaciju računa (Aktivacija novog korisničkog računa je postavljena na Nema) ovo je sve što trebate da biste izbjegli stranicu korisničkog profila. Međutim, ako korisnik mora aktivirati račun putem e-pošte (Aktivacija računa postavljena na Self) ovo možda neće biti dovoljno. Odmah nakon registracije korisnik će biti preusmjeren na web stranicu koju ste dobili u kodu kako se očekuje. Međutim, kada korisnik klikne na link u aktivacijskoj e-poruci, bit će odveden na prethodno spomenuti obrazac za prijavu i ako ga koristi za prijavu, doći će na stranicu Korisnički profil. Da biste to spriječili, možete potpuno onemogućiti stranicu korisničkog profila i umjesto toga preusmjeriti korisnike na bilo koju stranicu koju želite. Pročitajte ovaj članak da saznate kako.

Joomla 1.6
Joomla 1.7
Joomla 2.5

Danas ćemo pogledati eksploataciju kritične jednodnevne ranjivosti u popularnom CMS Joomla, koja je eksplodirala na Internetu krajem oktobra. O ranjivosti ćemo govoriti brojkama CVE-2016-8869, CVE-2016-8870 I CVE-2016-9081. Sva tri dolaze iz jednog komada koda koji je pet dugih godina čamio u dubinama okvira, čekajući u krilima, da bi se onda oslobodio i sa sobom ponio haos, hakovane stranice i suze nevinih korisnika ove Joomle. Samo najhrabriji i najhrabriji programeri, čije su oči crvene od svetlosti monitora, i čije su tastature zatrpane mrvicama hleba, uspeli su da izazovu pobesnele zle duhove i polože svoje glave na oltar popravki.

UPOZORENJE

Sve informacije su date samo u informativne svrhe. Ni uredništvo ni autor nisu odgovorni za bilo kakvu moguću štetu uzrokovanu materijalima ovog članka.

Gde je sve počelo

Demis Palma je 6. oktobra 2016. godine napravio temu na Stack Exchange-u u kojoj je pitao: zašto, zapravo, u Joomli verziji 3.6 postoje dva metoda za registraciju korisnika sa istim imenom register()? Prvi je u UsersControllerRegistration kontroleru, a drugi je u UsersControllerUser kontroleru. Damis je želio znati da li je metoda UsersControllerUser::register() korištena negdje, ili je to samo evolucijski anahronizam zaostao iz stare logike. Njegova zabrinutost je bila da čak i ako ovu metodu ne koristi nijedan pogled, može se pozvati izrađenim upitom. Na što sam dobio odgovor od programera pod nadimkom itoktopus, koji je potvrdio: problem zaista postoji. I poslao izvještaj Joomla programerima.

Tada su se događaji razvijali najbrže. 18. oktobra, Joomla programeri su prihvatili izvještaj od Damisa, koji je do tada izradio PoC koji bi omogućio registraciju korisnika. Objavio je bilješku na svojoj web stranici, u kojoj je općenito govorio o problemu koji je pronašao i svojim razmišljanjima o ovom pitanju. Istog dana izlazi nova verzija Joomle 3.6.3, koja još uvijek sadrži ranjivi kod.

Nakon toga, Davide Tampellini vrti grešku do te mjere da registruje ne jednostavnog korisnika, već administratora. A 21. oktobra, novi slučaj stiže u Joomla sigurnosni tim. Već govori o povećanju privilegija. Istog dana na Joomla web stranici se pojavljuje najava da će u utorak, 25. oktobra, biti objavljena sljedeća verzija sa serijskim brojem 3.6.3, koja ispravlja kritičnu ranjivost u kernelu sistema.

25. oktobar Joomla Security Strike Team pronalazi najnoviji problem koji je stvorio komad koda koji je otkrio Damis. Zatim je urezivanje od 21. oktobra sa neupadljivim imenom Prepare 3.6.4 Stable Release gurnuto u glavnu granu zvaničnog Joomla repozitorija, čime se popravlja nesrećna greška.

Nakon ovog izlaska, brojni zainteresirani pojedinci se pridružuju zajednici programera - počinju promovirati ranjivost i pripremati exploite.

27. oktobra, istraživač Harry Roberts postavlja gotov exploit u Xiphos Research repozitorijum koji može da otpremi PHP fajl na server sa ranjivim CMS-om.

Detalji

Pa, pozadina je gotova, pređimo na najzanimljiviji dio – analizu ranjivosti. Instalirao sam Joomla 3.6.3 kao probnu verziju, tako da će svi brojevi redova biti relevantni za ovu verziju. I sve staze do datoteka koje ćete vidjeti u nastavku bit će naznačene u odnosu na korijen instaliranog CMS-a.

Zahvaljujući otkriću Damisa Palme, znamo da postoje dvije metode koje vrše registraciju korisnika u sustav. Prvi koristi CMS i nalazi se u datoteci /components/com_users/controllers/registration.php:108. Drugi (onaj koji ćemo morati da pozovemo) živi u /components/com_users/controllers/user.php:293. Pogledajmo to izbliza.

286: /** 287: * Metoda za registraciju korisnika. 288: * 289: * @return boolean 290: * 291: * @od 1.6 292: */ 293: javna funkcija register() 294: ( 295: JSession::checkToken("post") ili jexit(JText::_ ("JINVALID_TOKEN")); ... 300: // Dobijte podatke obrasca 301: $data = $this->input->post->get("user", array(), "array"); . .. 315: $return = $model->validate($form, $data); 316: 317: // Provjera grešaka 318: if ($return === false) 319: ( ... 345: / / Završi registraciju 346: $return = $model->register($data);

Ovdje sam ostavio samo zanimljive redove. Puna verzija ranjive metode može se vidjeti u Joomla spremištu.

Hajde da shvatimo šta se dešava tokom uobičajene registracije korisnika: koji se podaci šalju i kako se obrađuju. Ako je registracija korisnika omogućena u postavkama, obrazac se može naći na http://joomla.local/index.php/component/users/?view=registration.


Zahtjev za legitimnu registraciju korisnika izgleda kao na sljedećem snimku ekrana.


Komponenta com_users je odgovorna za rad sa korisnicima. Obratite pažnju na parametar zadatka u zahtjevu. Ima format $controller.$method. Pogledajmo strukturu fajla.

Nazivi skripti u folderu kontrolori odgovaraju imenima pozvanih kontrolera. Pošto naš zahtjev sada sadrži $controller = "registration" , datoteka će biti pozvana registracija.php i njegovu metodu register().

Pažnja, pitanje: kako prenijeti obradu registracije na ranjivo mjesto u kodu? Verovatno ste već pogodili. Imena ranjivih i stvarnih metoda su ista (registr), tako da samo trebamo promijeniti ime pozvanog kontrolera. Gdje se nalazi naš ranjivi kontroler? Tako je, u dosijeu user.php. Ispostavilo se da je $controller = "user" . Stavljajući sve zajedno dobijamo zadatak = user.register. Sada se zahtjev za registraciju obrađuje metodom koja nam je potrebna.


Druga stvar koju treba da uradimo je da pošaljemo podatke u ispravnom formatu. Ovdje je sve jednostavno. Legitimni register() od nas očekuje niz pod nazivom jform , u koji prosljeđujemo podatke o registraciji - ime, login, lozinku, email (pogledajte screenshot sa zahtjevom).

  • /components/com_users/controllers/registration.php: 124: // Dobiti korisničke podatke. 125: $requestData = $this->input->post->get("jform", array(), "array");

Naš klijent dobija ove podatke iz niza koji se zove korisnik.

  • /components/com_users/controllers/user.php: 301: // Dobijte podatke obrasca. 302: $data = $this->input->post->get("user", array(), "array");

Stoga mijenjamo imena svih parametara u zahtjevu iz jfrom u user .

Naš treći korak je da pronađemo važeći CSRF token, jer bez njega neće biti registracije.

  • /components/com_users/controllers/user.php: 296: JSession::checkToken("post") ili jexit(JText::_("JINVALID_TOKEN"));

Izgleda kao MD5 hash, a možete ga uzeti, na primjer, iz obrasca za autorizaciju na stranici /index.php/component/users/?view=login.


Sada možete kreirati korisnike koristeći željenu metodu. Ako je sve uspjelo, čestitam - upravo ste iskoristili ranjivost CVE-2016-8870"Nedostaje provjera dozvole za registraciju novih korisnika."

Ovako to izgleda u "radnoj" metodi register() iz kontrolera UsersControllerRegistration:

  • /components/com_users/controllers/registration.php: 113: // Ako je registracija onemogućena - Preusmjeri na stranicu za prijavu. 114: if (JComponentHelper::getParams("com_users")->get("allowUserRegistration") == 0) 115: ( 116: $this->setRedirect(JRoute::_("index.php?option=com_users&view= login", false)); 117: 118: vrati false; 119: )

I tako u ranjivim:

  • /components/com_users/controllers/user.php:

Da, nema šanse.

Da bismo razumjeli drugi, mnogo ozbiljniji problem, pošaljimo zahtjev koji smo kreirali i da vidimo kako se on izvršava u raznim dijelovima koda. Evo dijela koji je odgovoran za validaciju podataka koje je korisnik poslao u metodi radnika:

Nastavak je dostupan samo članovima

Opcija 1. Pridružite se zajednici “site” da pročitate sve materijale na stranici

Članstvo u zajednici u navedenom periodu će vam omogućiti pristup SVIM Hakerskim materijalima, povećati vaš lični kumulativni popust i omogućiti vam da sakupite profesionalnu ocjenu Xakep Score!



Novo na sajtu

>

Najpopularniji