Náhrada PHP nebo ASP.NET Core

jano6

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #60 kdy: 17. 02. 2021, 19:45:51 »
Ja som nedávno narazil na web slovenskej univerzity, kde je akýsi prastarý kceditor,
ktorý vám ako na tácke dáva možnosť uploadnúť tam web shell... K tomu sa
poľahky dá dopracovať pomocou tzv. Google dorks. Na webe je toho dosť.
Ale web je hacknutý pre mňa, keď je root access. A to je tá ťažšia cesta.



Vyzerá to na LFI, local file inclusion. Dajú sa zrejme prezerať súbory a prípadne
uploadnúť z iného serveru web shelly.

Zaujímalo by ma, ako postupujete pri hľadaní takýchto dier? Googlením, či nejakým
automatizovaným skriptom?

Aby bylo vidět, že umím a nekecám (většina totiž kecá a neumí): http://www.wave-tech.co.kr

Chybu pochopíte, když otestujete ten jejich "router": /main.php?m2=s22
http://www.wave-tech.co.kr/main.php?m2=s22

Cvičně to můžete změnit třeba na: main.php?m2=main
Že se dá ovládnout celý server...vám taky bude brzo jasné.
Ale fakt bacha, hrozně lehce jim to shodíte.

Nicméně třeba stránky Homecreditu jsou mnohem větší výyva, koukat můžete, hackovat ne, byl by to trestný čin.
Odkud se odpíchnout mohu poslat do SZ.

Takže ano, ptám se blbě, ale něco umím  ;)


PanVP

  • ****
  • 414
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #61 kdy: 17. 02. 2021, 21:34:02 »

Tyhle jsem hledal (na ukázku) googlem, kde není router maskovaný rewrites.
Shodou okolností šla hned první stránka, ale to byl jen luck.
Jako když chceš ukázat mizernou branku, nějakou najdeš, sťouchneš do ní a ona se nejen otevře, ale i rozpadne.

Jinak to jsou vesměs zakázky ...nebo se nudíš a šťouráš.
Ale NEKRÁST, protože k datům se v podstatě vždy dostaneš.

Tedy mimo ASP.NET \ Java, to si pak připadám jako ...

PanVP

  • ****
  • 414
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #62 kdy: 17. 02. 2021, 21:43:14 »
 ;D

jano6

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #63 kdy: 17. 02. 2021, 22:00:36 »
Mne tieto dva dotazy

intext:"Warning: include" site:sk
inurl:"main.php" site:sk

vyhodilo zopar potencionalne zrejme zranitelnych stranok. Avsak zvacsa ide
o dost stare stranky.

Nuz to je tak, ze pri tvorbe PHP stranok sa cosi clovek priuci. :)


Tyhle jsem hledal (na ukázku) googlem, kde není router maskovaný rewrites.
Shodou okolností šla hned první stránka, ale to byl jen luck.
Jako když chceš ukázat mizernou branku, nějakou najdeš, sťouchneš do ní a ona se nejen otevře, ale i rozpadne.

Jinak to jsou vesměs zakázky ...nebo se nudíš a šťouráš.
Ale NEKRÁST, protože k datům se v podstatě vždy dostaneš.

Tedy mimo ASP.NET \ Java, to si pak připadám jako ...

BoneFlute

  • *****
  • 1 639
    • Zobrazit profil
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #64 kdy: 18. 02. 2021, 01:45:45 »
Já vnímám jQuery pořád jako knihovnu pro zjednodušení práce s DOM/CSS v čistém JS, tam své místo pořád má, dokud podobné věci neumí JS sám o sobě.
Na rozdíl od velkých FW, které když začnu používat, tak už nemůžu uhnout (a proto je moc nemusím), tak jQuery mě do ničeho nenutí, nemusím jí nijak přizpůsobovat návrh projektu, jen využívám zjednodušení syntaxe tam, kde se to hodí.

Já bych s tím souhlasil.

jQuery je oblíbené a pohodlné. Dnes už možná ne tak užitečné, drtivá většina věcí se dá udělat pomocí nativních funkcí, ale tyto dvě věci zůstávají.

Moje strategie je taková, že jQuery spíše nepoužívám, protože dělám většinou core věci, a pak přijde uživatel, narve si tam svou jquery knihovnu, která bude zrovna jiná než ta má, vzniká konflikt...


Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #65 kdy: 18. 02. 2021, 08:50:49 »
jQuery je oblíbené a pohodlné.
jQuery bylo oblíbené, dnes už se používá jen ze setrvačnosti. Pohodlné je na něm akorát to, že lidé, kteří se ho naučili používat, se nemusí učit nic nového. Jinak má jQuery dost nevýhod, mezi prvními tu, že se cpe do globálního jmenného prostoru. Z čehož plynou například problémy, kterých jste se dotknul, pokud se na jedné stránce sejde víc verzí jQuery.

Byl tu zmíněn Bootstrap – 5. verze už se obejde bez jQuery. Další čtení třeba zde: Removing jQuery from GitHub.com frontend. Nebo zde obhajuje jQuery, ale podle mne to popisuje jen tu setrvačnost: Why I’m still using jQuery in 2019.

Mlocik97

  • *****
  • 532
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #66 kdy: 18. 02. 2021, 11:52:03 »
Já vnímám jQuery pořád jako knihovnu pro zjednodušení práce s DOM/CSS v čistém JS, tam své místo pořád má, dokud podobné věci neumí JS sám o sobě.
Na rozdíl od velkých FW, které když začnu používat, tak už nemůžu uhnout (a proto je moc nemusím), tak jQuery mě do ničeho nenutí, nemusím jí nijak přizpůsobovat návrh projektu, jen využívám zjednodušení syntaxe tam, kde se to hodí.

Já bych s tím souhlasil.

jQuery je oblíbené a pohodlné.

pre tých, ktorým sa tak moc páči jQuery:

Kód: [Vybrat]
// jQuery kód
$("#el1").text("ahoj1").css("color", "red");
$("#el2").text("ahoj2");
$("#el3").text("ahoj3");

tak Vám ukážem ako sa to dá prepísať do JavaScriptu.

Najskôr alias, jeden riadok:

Kód: [Vybrat]
const $ = document.querySelector.bind(document);

a teraz

Kód: [Vybrat]
// čistý JavaScript
$("#el1").innerText("ahoj1").style.color = "red";
$("#el2").innerText("ahoj2");
$("#el3").innerText("ahoj3");

a máte to isté v čistom JavaScripte. To ste prekvapený čo? Práve ste ušetrili 87.6kB. Navyše dnes v moderných frameworkoch ide niečo takéto napísať dokonca s 0 riadkami JS!!! Príklad:

https://svelte.dev/examples#numeric-inputs

skúste toto prepísať do jQuery, a povedzte mi koľko kódu ste napísali. Lebo to HTML budete mať zhodné, akurát z atribútu zmizne bind: pred value, a v JavaScripte okrem deklarácie 2 premenných budete mať asi 10 riadkov jQuery kódu.

Teraz mi povedzte či je pohodlné.
I literally don't want to be human... humans are so dumb... I'm ashamed to be part of "humanity".

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #67 kdy: 18. 02. 2021, 13:46:43 »
Já vnímám jQuery pořád jako knihovnu pro zjednodušení práce s DOM/CSS v čistém JS, tam své místo pořád má, dokud podobné věci neumí JS sám o sobě.
Na rozdíl od velkých FW, které když začnu používat, tak už nemůžu uhnout (a proto je moc nemusím), tak jQuery mě do ničeho nenutí, nemusím jí nijak přizpůsobovat návrh projektu, jen využívám zjednodušení syntaxe tam, kde se to hodí.

Já bych s tím souhlasil.

jQuery je oblíbené a pohodlné.

pre tých, ktorým sa tak moc páči jQuery:

Kód: [Vybrat]
// jQuery kód
$("#el1").text("ahoj1").css("color", "red");
$("#el2").text("ahoj2");
$("#el3").text("ahoj3");

tak Vám ukážem ako sa to dá prepísať do JavaScriptu.

Najskôr alias, jeden riadok:

Kód: [Vybrat]
const $ = document.querySelector.bind(document);

a teraz

Kód: [Vybrat]
// čistý JavaScript
$("#el1").innerText("ahoj1").style.color = "red";
$("#el2").innerText("ahoj2");
$("#el3").innerText("ahoj3");

a máte to isté v čistom JavaScripte. To ste prekvapený čo? Práve ste ušetrili 87.6kB. Navyše dnes v moderných frameworkoch ide niečo takéto napísať dokonca s 0 riadkami JS!!! Príklad:

https://svelte.dev/examples#numeric-inputs

skúste toto prepísať do jQuery, a povedzte mi koľko kódu ste napísali. Lebo to HTML budete mať zhodné, akurát z atribútu zmizne bind: pred value, a v JavaScripte okrem deklarácie 2 premenných budete mať asi 10 riadkov jQuery kódu.

Teraz mi povedzte či je pohodlné.

aby to nahradilo jquery, musel byste pouzit document.querySelectorAll a zmenit chovani vysledneho objektu

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #68 kdy: 18. 02. 2021, 13:55:40 »
Teraz mi povedzte či je pohodlné.

A jak v čistém javascriptu pracujete s více elementy najednou?
$(".neco").addClass("d-none");

Co třeba delegování událostí?
$("#moje-tabulka").on("click", "tr", delejNeco);

Mlocik97

  • *****
  • 532
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #69 kdy: 18. 02. 2021, 14:05:54 »
Teraz mi povedzte či je pohodlné.

A jak v čistém javascriptu pracujete s více elementy najednou?
$(".neco").addClass("d-none");

Stačí nahradiť querySelector za querySelectorAll, výsledok je síce NodeList, ale to tiež nieje problém a jeden forEach() to spraví, aj preň si viete vytvoriť alias, či ho zahrnúť rovno do $() aby to bolo úplne ako jQuery. https://stackoverflow.com/a/46079132

Co třeba delegování událostí?
$("#moje-tabulka").on("click", "tr", delejNeco);

toto ide veľmi jednoducho, vidieť to v tom stackoverflow odkaze.
« Poslední změna: 18. 02. 2021, 14:13:00 od Mlocik97 »
I literally don't want to be human... humans are so dumb... I'm ashamed to be part of "humanity".

Mlocik97

  • *****
  • 532
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #70 kdy: 18. 02. 2021, 14:14:28 »
Co třeba delegování událostí?
$("#moje-tabulka").on("click", "tr", delejNeco);

ok, tak to som nevedel že to ide ešte jednoduchšie https://developer.mozilla.org/en-US/docs/Web/API/Element/matches

len jedna funkcia .matches()

navyše mi delegovanie nedáva zmysel. Dá sa to omnoho jednoduchšie úplne bez toho.
« Poslední změna: 18. 02. 2021, 14:17:31 od Mlocik97 »
I literally don't want to be human... humans are so dumb... I'm ashamed to be part of "humanity".

AoK

  • ****
  • 279
    • Zobrazit profil
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #71 kdy: 18. 02. 2021, 14:26:59 »
jQuery jsem neměl rád nikdy, ale důvod proč se používá je snadná dostupnost, jednoduchá syntaxe a zaručená kompatibilita mezi prohlížeči, v době jeho vzniku to byla obzláště velká bolístka.

Tady ukazujete jednoduché příklady, ale třeba ve vanillaJs napsat něco jako:

Někdy podobné nástroje mají smysl, díky jQuery se vymítilo spousty nefunkční webů a jejich JS, za to jsem rád a bojím se, že při použití čistého JS se to díky nedostatečným implementacím může vrátit do podobných kolejí. Dobře vypadá třeba UmbrellaJS jako něco, co přidává aspoň ty základní věci a je to minimální ve velikosti.

Mlocik97

  • *****
  • 532
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #72 kdy: 18. 02. 2021, 14:47:50 »
jQuery jsem neměl rád nikdy, ale důvod proč se používá je snadná dostupnost, jednoduchá syntaxe a zaručená kompatibilita mezi prohlížeči, v době jeho vzniku to byla obzláště velká bolístka.

Tady ukazujete jednoduché příklady, ale třeba ve vanillaJs napsat něco jako:

fadeIn() - stačí 2 riadky CSS nepotrebuješ ani JS. Zavolanie je len zmena classy.
addClass() - to vie JavaScript priamo - classList.add()
ready() - implementácia jeden riadok (stačí zapuzdriť do jedného ifu, kde overíš či DOM už je vyparsovaný)

resp. by ti stačil document.addEventListener( "DOMContentLoaded", completed );
to čo je v implementácii jQuery je tak dlhé len preto že je to prispôsobené pre jQuery.

on () - implementácia 3 riadky

Kód: [Vybrat]
domElement.prototype.on = function(event, callback) {
   this.eventHandler.bindEvent(event, callback, this.element);
}

Nič z toho ale reálne nepotrebuješ, pozri Svelte a vypadnú ti oči, že addClass(), on(), máš na 0 riadkov JS.
« Poslední změna: 18. 02. 2021, 14:53:56 od Mlocik97 »
I literally don't want to be human... humans are so dumb... I'm ashamed to be part of "humanity".

Mlocik97

  • *****
  • 532
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #73 kdy: 18. 02. 2021, 15:01:14 »
Už aj keby že nie Vanilla JS, stále existujú rôzne alternatívy pre jQuery v podobe miniatúrnej knižnice, ktorá je omnoho výkonnejšia a umožní Vám to čo jQuery vrátane tých .on() .fadeIn() či iných vecí.
I literally don't want to be human... humans are so dumb... I'm ashamed to be part of "humanity".

AoK

  • ****
  • 279
    • Zobrazit profil
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #74 kdy: 18. 02. 2021, 15:50:29 »
jQuery jsem neměl rád nikdy, ale důvod proč se používá je snadná dostupnost, jednoduchá syntaxe a zaručená kompatibilita mezi prohlížeči, v době jeho vzniku to byla obzláště velká bolístka.

Tady ukazujete jednoduché příklady, ale třeba ve vanillaJs napsat něco jako:

fadeIn() - stačí 2 riadky CSS nepotrebuješ ani JS. Zavolanie je len zmena classy.
addClass() - to vie JavaScript priamo - classList.add()
ready() - implementácia jeden riadok (stačí zapuzdriť do jedného ifu, kde overíš či DOM už je vyparsovaný)

resp. by ti stačil document.addEventListener( "DOMContentLoaded", completed );
to čo je v implementácii jQuery je tak dlhé len preto že je to prispôsobené pre jQuery.

on () - implementácia 3 riadky

Kód: [Vybrat]
domElement.prototype.on = function(event, callback) {
   this.eventHandler.bindEvent(event, callback, this.element);
}

Nič z toho ale reálne nepotrebuješ, pozri Svelte a vypadnú ti oči, že addClass(), on(), máš na 0 riadkov JS.

ale to jsou přesně ty špatné nedostatečné implementace, o kterých jsem mluvil. Na fadein musíš přidat nové třídy a řádky do css, nebude to fungovat s svg. U addClass je classlist super, ale pak je tady ještě IE s řadou záludností, na které musíš dát pozor, opět problém s použití u svg, kde jquery funguje dobře.

Zrovna u ready potřebuješ ještě další podmínku, viz i ten kód u jquery. Tvoje řešení on vyžaduje, aby element existoval a nepodporuje to u lazy elementu jako u jQuery.

Samozřejmě se to dá napsat i v čistém js, jen jsem chtěl říct, že to není tak jednoduchý a dobu, kdy byla půlka webů rozbitých právě kvůli nedostatečně obecné implementaci bez testů si živě pamatuji, nerad bych opakoval chyby z minulosti. Doporučování vanillaJS jako řešení nepovažuji za rozumné.