WordPress - Dodajte prilagođeni HTML kod. Github ključevi. Izvršavanje proizvoljnog koda u GitHub Enterpriseu Rad s prijevodom modula pomoću Joom!Fish komponente

Bok svima! Danas imam u planu malu instrukciju - kao na blogu za korisnike koji dolaze iz pretraživanja, prikazati proizvoljan kod bilo gdje u predlošku.

Pronašao sam praktičnu primjenu ove metode prije par mjeseci. Tada se za posjetitelje s tražilica ispod zaglavlja u liniji prikazivao poziv za pretplatu na newsletter.

Kao što razumijete, linija je prikazana samo jednom - kada ste se prvi put prebacili s tražilice, a zatim kada ste surfali stranicama, nestala je i više se nije pojavila. Naravno, ako se isti korisnik nije ponovno vratio na blog do .

Dao sam pretplatu kao primjer, ali također možete organizirati prikaz redaka oglasa, bilo kakvih oglasa i tako dalje. I naravno, lokacija nije ograničena na zaglavlje, ovaj se kod može prikazati bilo gdje u predlošku. Prijeđimo na praktični dio implementacije skripte.

Funkcija koja utvrđuje porijeklo zahtjeva (HTTP referer)

Prije svega, stvaramo novu funkciju iz pretraživanja (uvjetni prijevod je "iz pretraživanja"), naziv funkcije može biti bilo koji, glavna stvar koju morate imati na umu i koristiti prihvaćeni naziv u budućnosti. Ova značajka je za određivanje izvora prijelaza- bio to PS, druga stranica itd. Zanima nas PS. Dakle, na WordPressu, u datoteku predloška functions.php zalijepite kod:

funkcija fromsearch()( $ref = $_SERVER["HTTP_REFERER" ]; $SE = array ("/search?" , "images.google." , "search." , "yandsearch" , "/search/" , ".yahoo." ); foreach ($SE kao $source) ( if (strpos($ref,$source)!==false ) return true ;) return false ;)

Imajte na umu da treći redak sadrži agente za koje će se pravilo izvršiti i proizvoljni kod će biti prikazan u budućnosti. Ovo dovršava glavni dio, ostaje prikazati funkciju na bilo kojem prikladnom mjestu.

Ispis proizvoljnog koda tijekom prijelaza s tražilica

Sljedeći korak je prikazati unaprijed definiranu funkciju na stranici. Da bismo to učinili, koristimo sljedeće retke koje umećemo u datoteku predloška, ​​na primjer, ja koristim index.php:

razreda="showfromsearch" > NASLUČAJNI KOD div >

Na primjer, moj potpuni kod s pretplatom izgledao je ovako:

razreda="showfromsearch" > <div class="upozorenje"> Prvi put na blogu? Pretplatite se na newsletter!div > div >

To je to, ovo dovršava izlaz funkcije, prijeđite na sljedeći korak.

Dizajn stilova za blok koji prikazuje kod za posjetitelje s PS-om

Ostalo je dodijeliti klasu showfromsearch stilovi dizajna, uklapanje u , podešavanje položaja u odnosu na druge blokove. Ako se sve gore navedeno može koristiti odmah, bez izmjena, onda nema posebnih rješenja za prilagođeni dizajn.

Sve ovisi o izgledu i mjestu na kojem se ova funkcija prikazuje. Izvana je moj redak, koji dajem u primjeru, izgledao ovako:

Blok označen crvenom strelicom prikazuje se samo korisnicima koji su došli s tražilica, nije vidljiv svim ostalim prijelazima. Dat ću svoj primjer, za koji sam postavio stil u datoteci style.css:

.showfromsearch (width:900px; border:0; text-align:left; margin:auto; padding:0;)

I opet vam skrećem pozornost: ovaj stil je dodijeljen bloku s funkcijom, tj. postavljamo točno tip i mjesto samog bloka, a ne ono što se u njemu nalazi. Interni sadržaj koristi vlastite stilove. Ako pogledate gornju snimku zaslona, ​​gdje sam prikazao pretplatu, tada su okvir oko linije, pozadina i slika dodijeljeni drugoj klasi ( upozorenje) koji okružuje tekst.

To je put prikazuje se bilo koji kod za prijelaze iz pretraživanja, vjerojatno ponavljam - koristeći ovu metodu, možete prikazati ili drugima, dok redoviti čitatelji koji dolaze iz oznaka, izravnih posjeta ili poveznica na drugim stranicama neće vidjeti ovaj sadržaj.

Danas bih vam želio reći kako koristiti WordPress kao primjer za dodavanje proizvoljnog HTML koda na pravo mjesto. Bilo da se radi o kodu brojača ili kodu za pretplatu na vaš kanal, oglašavanje i tako dalje. Umetnut ćemo kod kroz standardni WordPress widget.

WordPress - Dodajte prilagođeni HTML kod.

Uvijek postoji potreba za umetanjem proizvoljnog HTML koda, lijepom pretplatom na vaš kanal na bočnoj traci ili jednostavno postavljanje teksta na glavnu stranicu, postoji mnogo opcija, sve ovisi o vašim potrebama.

Najnovije verzije WordPressa već imaju ugrađeni widget za dodavanje proizvoljnog HTML koda, tako da nema potrebe za instaliranjem zasebnih dodataka.

I tako, kako bismo dodali naš kod, moramo otići na karticu “Izgled” -> “Postavke” na administrativnoj ploči. Moguće je i putem widgeta, ali tada nećemo odmah vidjeti rezultat. Više volim vizualni uređivač.

Odaberemo mjesto gdje želimo dodati naš kod. Želim dodati brojač na bočnu traku. Odaberite "Bočna traka", možda ćete imati drugačiji naziv, sve ovisi o predlošku.

Pojavit će se novi widget, otvorite ga i u sadržaj unesite naš kod, ne zaboravite spremiti.

Kao rezultat, dobivamo sljedeći rezultat.

Na ovaj način možete dodati HTML kod na bilo koje mjesto gdje se widgeti mogu koristiti.

To je sve, nadam se da je ovaj članak bio koristan.

Kritična ranjivost u korporativnoj verziji popularnog sustava za kontrolu verzija GitHub omogućuje bilo kojem ovlaštenom korisniku izvršavanje proizvoljnog koda u sustavu. Za iskorištavanje ove ranjivosti potrebno je nekoliko tehnika odjednom: ubacivanje u uslugu predmemoriranja i ubacivanje objekata.

Opće informacije

Metoda Addressable::URI.parse analizira dati URL i provjerava ga prema specifikacijama RFC 3986, RFC 3987 i RFC 6570. To znači da možemo slati zahtjeve bilo kojem poslužitelju. Ne provode se druge provjere adresa.

Tek sada, pri pokušaju korištenja lokalnih adresa localhost, 127.0.0.1 i slično, sustav vraća grešku Invalid host. Međutim, niti jedan lokalni host! Ovaj se bug može riješiti jednostavnim korištenjem adrese 0.0.0.0 ili skraćeno 0.

Provjerimo kako radi. Poslušajmo priključak 31337 (nc -lp 31337 -vvv) na virtualnom računalu. Zatim ćemo izraditi webhook s http://0.0.0.0:31337/test kao URL-om. Nakon klika na gumb "Dodaj", odmah ćemo primiti zahtjev.



Možemo si čestitati, otkrili smo SSRF ranjivost. Da, nije jednostavan, ali koji također prikazuje odgovor poslužitelja ako je formatiran kao važeći HTTP odgovor.

Sada morate smisliti što možete učiniti s njim.

Nije slučajno što sam tako revno pokušao doći do localhosta. GitHub Enterprise je velika i složena aplikacija, tako da postoji niz servisa podrške koji rade unutar. Samo pogledajte statusnu traku.


Ovdje imamo Elastic, i Radish, i Memkesh. Biraj - ne želim!

Počnimo s Memcachedom. Protokol za komunikaciju s njim je tekstualni, pa možete pokušati ubaciti. Pokušajmo okrenuti dijeljenje zahtjeva (HTTP Request Splitting), za to ćemo stvoriti kuku sa znakovima povratka reda.

Http://0:31337/Hello%0D%0Aworld

Nije išlo. U redu, ne očajavajte, na ovom poslužitelju još uvijek možete profitirati.

Potražite odgovarajuće usluge

Sada je vrijeme da pogledamo otvorene portove. Pokrenite naredbu sudo netstat -anp | grep -i SLUŠAJTE .



Evo tako impresivnog popisa usluga koje su dostupne putem mreže. Ima se gdje lutati, čak je i port 1337 otvoren 😉

Ako se sjećate, rekao sam da vam SSRF omogućuje čitanje odgovora. Ovo se može koristiti tijekom testova penetracije crne kutije. Na primjer, pogledajmo što je na notornom portu 1337. Kreirajmo hook http://0:1337/ , otvorimo ga i pomaknimo se do Recent Deliveries. Tamo, u kartici Odgovor, možete vidjeti odgovor poslužitelja. Ako želimo ponovno poslati zahtjev, tada vam je na usluzi gumb Ponovno dostavi.

Nastavak dostupan samo članovima

Opcija 1. Pridružite se zajednici "site" kako biste pročitali sve materijale na stranici

Članstvo u zajednici tijekom navedenog razdoblja omogućit će vam pristup SVIM hakerskim materijalima, povećati vaš osobni kumulativni popust i omogućiti vam da skupite profesionalnu ocjenu Xakep Score!

Ako trebate umetnuti prilagođeni kod u postove i stranice svoje WordPress stranice, možete upotrijebiti dodatak Global Content Blocks. Dodatak nije težak, omogućuje vam brzo i praktično umetanje HTML, PHP kodova, proizvoljnih kodova, obrazaca za pretplatu, AdSense oglasa, tekstualnih blokova u članak ili stranicu. Pomoću njega možete umetnuti php kod u predložak web mjesta i postaviti blokove u dva ili tri stupca. Dodatak se stalno ažurira i može se klasificirati kao jedan od najboljih WordPress dodataka.

Preuzmite i instalirajte

Prolazimo kroz standardne korake. Ako instalirate dodatke od , dajem adresu službene stranice dodatka: https://ru.wordpress.org/plugins/global-content-blocks/

Konfiguriranje dodatka za globalne blokove sadržaja

Kao takve, nema postavki dodatka. Nakon aktivacije dodatka, na konzoli se pojavljuje izbornik: Globalni blokovi sadržaja. Na stranici dodatka vidimo kontrolne kartice:

  • Upravljanje blokovima (1) - upravljanje blokovima dodataka;
  • Add a Content Blocks (2) - dodavanje blokova;
  • Postavka (3) - uvoz blokova s ​​drugog mjesta.

Također, gumb za dodavanje blokova dodataka pojavljuje se u uređivaču web mjesta.


gumb za dodavanje globalnih blokova sadržaja u uređivaču

Ugradite prilagođeni kod u WordPress postove i stranice pomoću dodatka Global Content Blocks

Dodatak je jednostavan za korištenje:

  • Idite na stranicu za dodavanje bloka;
  • Dajte novom bloku ime (1),
  • Dajte mu latinski naziv za kratki kod (2);
  • Odaberite vrstu sadržaja (3);
  • Možete odabrati sliku (5) koju želite staviti u blok;
  • Unesite sadržaj bloka (4).

Stvorite novi blok Global Content Blocs