How to add or remove datagroup records using iControl REST API

There are two known ways to manipulate datagroup records using the REST API:

  1. retrieve the current list of records, add or remove as required and import the updated list – not very friendly for simple batch processing
  2. using /mgmt/tm/util/bash hack to run the actual tmsh command – unfortunately this requires admin/bash privileges

I’ve found a new one using the options parameter:

curl -X PATCH -H "Content-Type: application/json" -d '{"name":"Test-DataGroup"}' -u"test:test" https://5.6.7.8/mgmt/tm/ltm/data-group/internal/Test-DataGroup?options=records%20add%20%7B%201.2.3.4%2F32%20%7D

PHP snippet:

$f5hostname = "5.6.7.8";
$f5credentials = "test:test";
$ip = "1.2.3.4";
$dg = "Test-DataGroup"'

function curl_json($method, $url, $data = "") {
  global $f5credentials;

  $s = curl_init();
  curl_setopt($s, CURLOPT_URL, $url);
  curl_setopt($s, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
  curl_setopt($s, CURLOPT_USERPWD, $f5credentials);
  curl_setopt($s, CURLOPT_RETURNTRANSFER, true);
  if($method!="GET") {
    curl_setopt($s, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($s, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));
    curl_setopt($s, CURLOPT_POSTFIELDS, $data);
  }
  $response = json_decode(curl_exec($s));
  curl_close($s);
  return $response;
}

$command = urlencode("records add { ${ip}/32 }");
$dgurl = str_replace("/", "~", $dg);

curl_json("PATCH", "https://${f5hostname}/mgmt/tm/ltm/data-group/internal/${dgurl}?options=${command}", "{\"name\":\"${dg}\"}");
Zveřejněno 15.12.2017 v 12:43 v rubrice F5 · Trvalý odkaz · Přidat komentář

EqualLogic SAN hacking

CLI> su exec sh

enter the support shell mode

 

# ifconfig -a

IP configuration

 

# echo cmv | ecli

ecli is an interactive shell providing some low level functions (eg. cmv = Get CM Version Info)

 

# ipcsh -s -O "ifconfig -a"

ipcsh is a remote shell to be executed on the other controller, very useful

 

# raidtool

low level tool to manage RAID

Zveřejněno 5.1.2017 v 17:48 v rubrice Hacking · Trvalý odkaz · Přidat komentář

Co zažít v Londýně

London Eye

Jednoznačně stojí za to. Přímo v centru, výhled po celém Londýně. Vstupenky se dají koupit on-line už od £18 na http://www.londoneye.com/ticketsandprices/tickets/

London Eye


Richmond Park

Park na kraji Londýna (District line, 4. zóna), kde se volně prochází spousta zvěře. Vstup zdarma.

Richmond Park


Little Venice

Procházka kolem kanálů nebo projížďka lodičkou, ideální trasa je od Warwick Avenue kolem Regent’s park do Camden Lock. Pěšky zdarma, lodičkou cca £10 na osobu, např. http://www.jasons.co.uk/

Little Venice


Shard

Nejvyšší vyhlídka široko daleko v celé Evropě. Nic moc při špatném počasí, super při západu slunce. Nahoře má člověk docela závrať. Vstupenky od £25 na osobu na http://www.theviewfromtheshard.com/en/tickets-packages/

Shard


Tower Bridge

Zajímavá prohlídka vnitřní strukturou mostu s bezva výhledem, vstupenky od £8 na https://www.gammabookings.com/TowerBridgeBookings/. Časy otevírání mostu jsou na http://www.towerbridge.org.uk/TBE/EN/BridgeLiftTimes/

Tower Bridge


Camden Lock Market / Borough Market

Na obou trzích se dá sehnat spousta druhů jídla z různých zemí – nejvíce aktivity tam probíhá o víkendech. Camden Lock Market je o něco více „alternativní“ a dá se spojit s Little Venice; Borough Market je poblíž Tower Bridge. Vstup zdarma.

Camden Lock Market


Monument

Zajímavá vyhlídka v centru Londýna z památníku velkého požáru, stoupá se po úzkých točitých schodech a na vyhlídkové plošině není zrovna moc místa. Vstupné je £4, více informací na http://www.themonument.info/

Monument


Platform 9 3/4

Pro milovníky Harryho Pottera je možné si na nádraží King’s Cross vystát frontu a vyfotit se cestou na nástupiště 9 a 3/4. Opodál je krámek prodávájící příslušné suvenýry.

Platform 9 3/4


Chislehurst Caves

Doprava vlakem z Waterloo nebo London Bridge, 5. zóna. Prohlídky podzemí s lucerničkami v každou celou hodinu, vstupné £6, více informací na http://www.chislehurst-caves.co.uk/

Chislehurst Caves


Canary Wharf

Bankovní centrum Londýna, určitě stojí za to projet v DLR – metrem bez řidiče.

Canary Wharf


Hyde Park / Regent’s Park

Nakrmit veverky nebo labutě je možné ve velkých londýnských parcích.

Hyde Park


Barclay’s Bikes

Za £2 můžete během 24 hodin projezdit celý Londýn. Jedna jízda může trvat vždy maximálně 30 minut a mezi jízdami musí být minimálně 5 minut. Více informací na http://www.tfl.gov.uk/modes/cycling/barclays-cycle-hire

Barclay's Bikes


London Transport Museum

Jedno z mála londýnských muzeí, které opravdu stojí za to. Možná i proto není vstup zdarma, ale za £15. Můžete prolézat historické tramvaje a řídit metro na simulátoru. Více informací na http://www.ltmuseum.co.uk/

London Transport Museum


Chinatown

Barevná čínská čtvrť plná restaurací, kde se dá sehnat all-you-can-eat od £6. Kousek od Piccadilly Circus.

Chinatown


Kelvedon Hatch

Zatím ještě osobně nevyzkoušeno, ale mělo by to stát za to. Podzemní atomový kryt z dob studené války. Komplikovanější doprava z Londýna, v neděli se tam nedá bez auta rozumně dostat. Vstupné £7, více informací na http://www.secretnuclearbunker.com/

Kelvedon Hatch

Zveřejněno 3.9.2014 v 22:03 v rubrice Cestování · Trvalý odkaz · Přidat komentář

Disable SRTP on SIP between CS1000 and Asterisk

Since Asterisk is unable to process SRTP offered by CS properly, there are two workarounds:

  1. patch Asterisk to ignore SRTP offer and fall back to RTP instead – https://issues.asterisk.org/jira/browse/ASTERISK-18201
  2. change the CLS of all SIP route members in CS to MSNV – see the following example

>ld 14
 
REQ chg
TYPE ipti
TN 248 0 00 28
DES
XTRK VTRK
NCOS
RTMB
CHID
MNDN
TGAR
LDOP
TIMP
BIMP
AUTO_BIMP
STRI
STRO
SUPN
AST
CLS msnv
TKID

Zveřejněno 14.8.2012 v 00:12 v rubrice PBX · Trvalý odkaz · Přidat komentář

Google Maps API for Business – REST URL signing

If you are a Google Maps API Business user, you have to sign REST URLs for invoking webservices. Here you can find an example how to do it in PHP:

function base64_encodesafe($plainText) {
  $base64 = base64_encode($plainText);
  return strtr($base64, '+/', '-_');
}

function base64_decodesafe($base64) {
  $base64 = strtr($base64, '-_', '+/');
  return base64_decode($base64);
}

$key = base64_decodesafe(GMAPS_KEY);
$url = "/maps/api/geocode/json?address=" . $address . "&client=" . GMAPS_CLIENT;
$signature = base64_encodesafe(hash_hmac("sha1", $url, $key, true));
$url = "http://maps.googleapis.com" . $url . "&signature=" . $signature;
Zveřejněno 11.4.2012 v 13:45 v rubrice PHP · Trvalý odkaz · Přidat komentář

Černobyl & Pripjať

Nápad navštívit místo největší jaderné katastrofy v dějinách jsem měl už dlouho, ale teprve nedávno jsem objevil způsob, jak ho rozumně a levně zrealizovat. Na fóru webu města Pripjať, který provozují zejména nadšenci z řad původního obyvatelstva, jsem našel informace o pravidelných exkurzích do zóny. Zbývalo naplánovat termín a zajistit si dopravu do Kyjeva 🙂

Domluvil jsem se s Martinama z práce a Jirkou z Písku a vybrali jsme únorový termín exkurze. Podle webu připadal na sobotu 20. února 2010, s tím, že sraz je ráno na kyjevském nádraží a návrat večer tamtéž. Jako nejvýhodnější spojení se zdál Wizzair z Katowic do Kyjeva v pátek večer a zpátky v neděli večer. Exkurze vycházela na 70$ (dnes už stojí 100$), zpáteční letenka na nějakých 1900,- Kč. Zbývalo dopravit se na katowické letiště a zpátky, nakonec jsme se rozhodli pro cestu autem. Letenky i exkurzi jsme zabookovali zároveň, aby se nám náhodou nestalo, že by jedno z toho mezitím nevyšlo. Všechno vypadalo ideálně, ještě jsme našli pěkný hostel v centru Kyjeva a zjistili možnosti spojení z nočního letiště.

Ani ne dva dny po zabookování letenky zmizel náš let směrem tam z letového řádu. Rozhodl jsem se zavolat do Wizzairu a raději to ověřit, ale bylo mi oznámeno, že ještě neobdrželi platbu za naši rezervaci a tak to vlastně nemám co řešit. Počkal jsem týden a zavolal znovu; platbu obdrželi, rezervace byla potvrzená a neviděli nejmenší důvod, proč by náš let neměl letět. Přesto náš let prostě v letovém řádu nebyl.

Pár dní po tom mi přišlo oznámení změny letu, které jsem měl potvrdit. Problém byl v tom, že všechny hodnoty byly stejné, nic se nezměnilo. Tak jsem jim opět radši zavolal, opět to prověřili a potvrdili mi, že náš let v námi zvoleném čase opravdu poletí. Ve středu před odletem jim volal ještě Martin a trval na důkladném prověření…po cca 15ti minutovém hovoru přiznali, že náš let opravdu nepoletí a nabídli nám jiný, např. ten nedělní (že bychom letěli do Kyjeva na otočku, haha). Vypadalo to dost beznadějně. Nakonec jsem našel u polských Eurolines autobus z Krakowa do Kyjeva odjíždějící ve čtvrtek kolem poledne. Znamenalo to vyjet z Prahy o den dříve, ale jinak by to mohlo vyjít, stál jenom něco málo přes tisícovku. Okamžitě jsme se rozhodli a jízdenky objednali.

Den na to jsme v časných ranních hodinách vyrazili z Prahy, cestou nabrali Jirku a přibližně půl hodiny před odjezdem autobusu dorazili do Krakowa. Po peripetiích s hledáním místa na parkování stojíme na autobusáku a hledáme pro změnu náš spoj. Světe div se, opravdu existoval, naše jízdenky platily (i se slevou na ISIC) a my se pohodlně usadili v poloprázdném autobuse. Čekala nás cca 20ti hodinová jízda, převážně po děravých ukrajinských silnicích. Cesta byla sama o sobě zážitek, ať už díky našim spolucestujícím, řidičům, zastávkám, hranicím nebo Jirkově rumu.

V pátek časně ráno jsme opravdu dorazili do Kyjeva. Pořád jsem čekal, že něco nevyjde, že autobus chcípne v Žitomiru nebo nás vysadí někde na kyjevském gangsta sídlišti…ale přijeli jsme tam, kam jsme přijet měli, po jednom zeptání „gdě mitró?“ jsme našli stanici metra a vydali se do našeho hostelu. Aricio nás původně čekal až v noci na sobotu, ale ještě jsem mu stihl napsat, že nám let zrušili a tak tam budem, až tam budem. Ano, vzbudili jsme ho 🙂 Nicméně nás ochotně ubytoval, umyli jsme se, nasnídali, vyslechli pár tipů a triků ke Kyjevu a vyrazili na prohlídku. Navštívili jsme muzeum černobylské havárie, které (nejen) nás dost zklamalo. Nejenže má všechny texty jen v ukrajinštině, bylo dost chaoticky uspořádané a hlavně vůbec nepodávalo ucelený pohled na katastrofu. Nejčastější tam byly hrdinské eposy o lidech, kteří svým jednáním zachránili/odvrátili/atd. Tak jsme jim tam aspoň rozbili úžasnej model reaktoru 🙂 Jinak jsme viděli z Kyjeva snad všechno důležité, ochutnali místní streetfood a vrátili se dost unavení. S díky jsme odmítli nabídku účasti na párty a šli spát.

V sobotu ráno jsme vyrazili na kyjevské nádraží, kde měl čekat zřetelně označený autobus. A opravdu čekal! A opravdu nás tam měli v seznamu, to byl úplně neskutečnej pocit, že to vyšlo. Místa na nohy tam pravda moc nebylo a po chvíli se autobus zaplnil do posledního místečka. Kromě jednoho Itala jsme tam byli jediní cizinci, všichni ostatní byli Ukrajinci nebo Rusové. Většině zásadních informací (o večeři například) jsme rozuměli a vedoucí zájezdu si z nás dělal docela srandu („Češi taky chtěj večeři?“), případně nám to dovysvětlil anglicky, paráda prostě.

Přijeli jsme k checkpointu Dityatki, kde se kontrolovaly pasy. Zase jsem se trochu bál, tentokrát hlavně o diakritiku ve jménech kluků, kterou jsem při registraci vypustil. Naštěstí bylo všechno v pořádku a tak jsme pokračovali dále do zóny. První zastávkou bylo město Černobyl a v něm úřad pro jadernou bezpečnost (nebo tak nějak), kde jsme vyslechli krátkou přednášku a podepsali papír, že do zóny vstupujeme dobrovolně a při plném vědomí 🙂 Následoval přesun na černobylské autobusové nádraží, kde fungují dva kiosky. Všichni se tam nahrnuli s touhou něco si koupit. Černobyl překvapivě docela funguje, viděli jsme tam dost lidí, je tam i hotel a měla se tam konat naše večeře.

Z Černobylu jsme jeli směrem k elektrárně. Ve vesničkách cestou nebylo nikoho vidět, přesto i tam byly patrné stopy po obydlení. Bohužel byla dost mlha a tak jsme z elektrárny moc neviděli; na obvyklém místě, odkud se fotí chladící věž, skoro ani nemělo cenu zastavovat. Dojeli jsme tak až k hlavní bráně, za kterou se rýsoval známý sarkofág s charakteristickou věží. Byli jsme od něj tak 200 metrů, docela impozantní a děsivé. Udělali jsme tam plno fotek a průvodci nám stále ukazovali hodnoty na měřiči radiace. Popravdě si nepamatuju, kolik to bylo, ale vzhledem k tomu, že v bezprostředním okolí elektrárny byla kompletně vyměněna půda, zaasfaltováno, co šlo, tak tam paradoxně je radioaktivita asi nejnižší z celé zóny.

Od elektrárny je to jenom kousek do města duchů, Pripjati. Jede se přes most smrti. Pripjať působí v zimě opravdu děsivě…jeden panelák vedle druhého, jeden jako druhý, temné, tiché, nezřetelné ulice pod sněhem. No nechtěl bych se tam ztratit. Rozdělili jsme se do několika skupin a vyrazili na prohlídku. Čekal jsem, že nás vezmou po protažených cestách a ukážou, kde je co…ale prohlídka dalece překonala naše očekávání! Náš průvodce nás po chvíli vedl sněhem přímo k domu, kde kdysi bydlel.

Procházeli jsme otřískanými chodbami, koukali do zaprášených poštovních schránek, lezli do tmavých sklepů, opatrně stoupali po chatrných schodech. Pak nás ještě vzal do školy, tělocvičny, kavárny, kulturáku a spousty dalších míst, kde to za mlada znal. Naprosto strhující zážitek. Cestou pořád něco rusky vykládal, ale nás to stejně moc nezajímalo – už jenom naše přítomnost tam nám úplně imponovala. Courali jsme městem skoro tři hodiny a fakt to stálo za to!

Po návratu k autobusu a setkání s ostatními skupinami jsme zjistili, že nám chybí jeden člověk. Nejprve ho hledal jen jeden průvodce, pak i ostatní, nakonec jsme ho hledali celým autobusem a pak ho hledali skoro všichni. Po cca dvou hodinách se setmělo a to teprv byla Pripjať depresivní! Nicméně chybějící exot nikde a všichni pěkně nervózní. Nakonec jsme odjeli bez něj, i tak bylo strašně pozdě a nestíhala se večeře 🙁 Pak jsme se dověděli, že ho našel policejní pes v jednom z domů, kde se snažil přespat. Jako na jednu stranu ho chápu, taky by mě to lákalo, na druhou je to pěkný pako a dost nás naštval.

Na kyjevské nádraží jsme přijeli totálně unavení dost pozdě večer…ještě, že byl náš hostel tak blízko. Cestou jsme ještě sehnali nějaký jídlo a pivo, v hostelu se nadlábli a šli spát. V neděli už jsme toho moc nestihli, odpoledne jsme dojeli taxíkem na letiště a doufali, že to poletí aspoň zpátky a že naše letenky platí. Naštěstí to vyšlo a večer jsme dosedli v Katowicích. Zbývalo dopravit se minibusem do Krakowa k našemu autu, zaplatit za parkování a dojet do Prahy.

Celkové náklady na jednoho byly cca 6500,- Kč. Bohužel se nám nepovedlo vydolovat z Wizzairu kompenzaci za zrušený let.

Všechny fotky z naší expedice jsou v galerii Černobyl & Pripjať.

Zveřejněno 13.3.2011 v 02:32 v rubrice Cestování · Trvalý odkaz · Přidat komentář

Únos domény .cz

Následující návod má být primárně názorným důkazem toho, že můžete mít jakkoliv dobře zabezpečený server, DNS, web…a nakonec vám někdo ukradne doménu, protože máte heslo do e-mailové schránky „pepa“. Z těchto devíti kroků jich osm zvládne naprosto kdokoliv.

Postup úplného převodu domény:

  1. Na http://www.nic.cz/whois/ zjistit vlastníka a jeho e-mail
  2. Získat přístup do této e-mailové schránky
  3. Nechat si poslat autorizační heslo kontaktu (např. pomocí http://www.nic.cz/whois/publicrequest/)
  4. Pokud nemáte možnost využít služeb registrátora kontaktu, je potřeba změnit registrátora kontaktu a nechat si znovu zaslat autorizační heslo (po změně registrátora dojde k jeho změně)
  5. Změnit u kontaktu e-mailovou adresu – od této chvíle nemá vlastník reálnou kontrolu nad doménou a hlavně už se nikdy nic nedozví
  6. Nechat si poslat autorizační heslo domény
  7. Převést doménu k Active24 (jako jeden z mála registrátorů umožňuje změnu vlastníka bez notářem ověřených podpisů)
  8. Nechat si znovu poslat autorizační heslo domény
  9. Změnit vlastníka, odstranit jiné původní kontakty, změnit NSSET,…

Dá se to stihnout klidně za čtvrt hodinky.

Zveřejněno 13.2.2011 v 02:09 v rubrice Hacking · Trvalý odkaz · Přidat komentář

getfile.php – část II.

Nedávno jsem narazil na ScrewTurn Wiki. Pokud ji používáte, vězte, že i ona trpí dírou zvanou getfile. Tentokrát sice .aspx místo .php, ale princip je stejný.

Nebudu napínat; pro úspěšný útok budete potřebovat GetFile.aspx a dost vám pomůže Upload.aspx. GetFile.aspx obsahuje bezpečnostní prvek v podobě

filename = filename.Replace("..", "");

z čehož plyne nutnost použít absolutní cestu. Upload.aspx pouze využívá komponentu FileManager.ascx, která dvě tečky nenahrazuje, ale před cestu přidává root složku. Takže zde je potřeba naopak použít relativní cestu.

Postup bude přibližně následující – pomocí Upload.aspx se dostaneme co nejvýše; s největší pravděpodobností kvůli omezeným právům IIS ne moc daleko. A pak uhodneme začátek absolutní cesty, ve které se weby nacházejí.

http://www.firma.cz/wiki/Upload.aspx?Dir=../../../
http://www.firma.cz/wiki/GetFile.aspx?File=C:/www/firma.cz/wiki/web.config
Zveřejněno 13.2.2011 v 01:29 v rubrice Hacking · Trvalý odkaz · Přidat komentář

getfile.php – část I.

Představte si následující soubor getfile.php:

<?php
readfile($_GET["filename"]);
?>

Je to k neuvěření, ale pořád takové existují! S mírnými obměnami, doplněnými header() pro zasílání Content-Type, Content-Disposition, atd., ale v principu pořád zobrazí jakýkoliv soubor, o který požádáte.

Falešný dojem bezpečí často navozuje definování root složky:

<?php
define("ROOT", "/home/karel/web/downloads/");
readfile(ROOT . $_GET["filename"]);
?>

Dá trochu práce zjistit, kam přesně je potřeba se vytečkovat (/../), ale i tak je to díra jako vrata.

Reálný příklad ze života je nejmenovaný CMS obsahující tento soubor. CMS byl nasazen na spoustě webů – nicméně jsem zatím narazil jen na dva, které by stály za zmínku (jeden z nich je web firmy vyvíjející tento produkt); vesměs se jinak jednalo jen o jednodušší webové vizitky firem.

http://www.firma.cz/_cms/data/fdwnl.php?f=../../_configs/global.php
Zveřejněno 13.2.2011 v 01:12 v rubrice Hacking · Trvalý odkaz · Přidat komentář

Office OpenXML password remover

Simple utility you can find usefull in a case you have own docx/xlsx/… batch processing software but you’re unable to process encrypted files. This tool will open the file and resave it without password, ie. encryption. Based on project ooxmlcrypto.

Download (including source code in C#)

OpenXMLPasswordRemover

Zveřejněno 13.2.2011 v 00:17 v rubrice Software · Trvalý odkaz · Přidat komentář