Proxy s digest auth + blbá aplikace

Dzavy

Proxy s digest auth + blbá aplikace
« kdy: 18. 08. 2017, 11:20:55 »
Mam blbou aplikaci, co neumi proxy auth (mozna s trochou snahy zvladne basic, ale urcite ne digest) a "chytrou", resp. bezpecnostni politikou vyzadovanou proxy, co umi jenom digest auth.

Nejaky napady jak to vyresit? Uvazuju o necem, co pobezi lokalne u ty aplikace a bude fungovat jako prostrednik. Bohuzel evidentne ani apache ani squid neumi digest auth pro parent proxy (uprimne nechapu proc). Treba dobrej by byl curl, ale dostat ho do "server modu", tak by se do nej pipou narval celej request vypada celkem nerealne. Nejakej tool co by to umel - pripadnou konverzi z TCP do pipe uz by mel zvladnout treba netcat?

Jedna se o izolovany notifikace, takze aplikace ani nepotrebuje zpatky celou response, ani neni potreba resit keep alive a tak.
« Poslední změna: 18. 08. 2017, 14:50:34 od Petr Krčmář »


Re:proxy s digest auth + blba aplikace
« Odpověď #1 kdy: 18. 08. 2017, 12:17:19 »
Předpokládám, že ta aplikace je nějaký HTTP klient. Apache je reverzní proxy, tj. zastupují server, nikoli klienta. Takže hledejte klasické HTTP proxy servery. Existují různé HTTP proxy, např. pro vývojáře, které umí modifikovat přenášený obsah (včetně hlaviček), některý z nich by to mohl umět  – podívejte se třeba na Privoxy, Tinyproxy nebo Polipo. A nebo půjde nějaký proxy server upravit – třeba Jetty má ProxyServlet, doplnit do něj HTTP Digest autentizaci by mělo být jednoduché.

Dzavy

Re:proxy s digest auth + blba aplikace
« Odpověď #2 kdy: 18. 08. 2017, 14:49:12 »
Předpokládám, že ta aplikace je nějaký HTTP klient. Apache je reverzní proxy, tj. zastupují server, nikoli klienta. Takže hledejte klasické HTTP proxy servery. Existují různé HTTP proxy, např. pro vývojáře, které umí modifikovat přenášený obsah (včetně hlaviček), některý z nich by to mohl umět  – podívejte se třeba na Privoxy, Tinyproxy nebo Polipo. A nebo půjde nějaký proxy server upravit – třeba Jetty má ProxyServlet, doplnit do něj HTTP Digest autentizaci by mělo být jednoduché.

Diky, koukal jsem na 3proxy, tinyproxy, privoxy i polipo a ani jedno neumi digest auth k parent proxy. Bohuzel to nejde jednoduse obejit nacpanim hlavicek, v podstate se musi pockat na 407 od parent proxy s nonce a na zaklade nej pak opakovat ten request. Jako v principu by to melo bejt jednoduchy, ale do programovani se mi dvakrat poustet nechtelo, doufal jsem, ze uz neco existuje :/

Sten

Re:proxy s digest auth + blba aplikace
« Odpověď #3 kdy: 18. 08. 2017, 15:26:21 »
Digest pro nadřazenou proxy implementuje málokdo, protože je to hodně práce, je potřeba znovu poslat celý request, takže si ho ta proxy musí uložit někde bokem včetně payloadu, pokud je to POST/PUT, což je těžké rozumně implementovat a nevytvořit tím díru pro jednoduchý DoS.

Tohle by snad mohl umět Burp suite od PortSwigger. Je to sice pentesting, ale umí se spustit jako MITM proxy a tam by měl umět přidávat Digest pro nadřazenou proxy.

Apache je reverzní proxy, tj. zastupují server, nikoli klienta.

Apache je i forward proxy

Re:Proxy s digest auth + blbá aplikace
« Odpověď #4 kdy: 18. 08. 2017, 18:35:06 »
Nemyslím, že je nutné na nonce čekat – metodou HEAD na libovolnou adresu si vyžádám nonce, a to pak použiju s tím skutečným requestem.