Zabezpečení C# aplikace proti .NET Reflector

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
lukas.sei
Level 4
Level 4
Příspěvky: 1070
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod lukas.sei » 03 dub 2016 15:07

Čaute,
Je nějaká možnost, jak zabezpečit C# aplikace před použitím .NET Reflectoru ?
Není to kvůli zabezpečení proti crackům. Je to kvůli toho, aby někdo přes .NET Reflector nezjistil přihlašovací údaje k mojí databázi. Ta obsahuje prakticky všechen obsah mojí aplikace (uživatelské účty, seznam skupin + jejich hesla, atd..).
Předem děkuji za nějaké rady.

Reklama
Uživatelský avatar
satik
Level 6
Level 6
Příspěvky: 3509
Registrován: leden 15
Bydliště: Krkonoše
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod satik » 03 dub 2016 17:41

Není a nebyla by ani kdyby to bylo v jiném jazyce.
Tohle se řeší tak, že máš na serveru nějakou mezivrstvu, které posíláš požadavky (nejlíp s nějakou autentizací) a ta mezivrstva ti vrací výsledky.
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index

Uživatelský avatar
lukas.sei
Level 4
Level 4
Příspěvky: 1070
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod lukas.sei » 03 dub 2016 19:58

Hm. Myslíš, že by k tomu stačilo si v MySQL přidat procedury na všechno co potřebuji (registrace, přihlášení, atd...). A vytvořit účet pro přístup do DB, který by měl práva pouze volat tyto procedury (neměl by práva na INSERT, DELETE, UPDATE, atd..). Čímž i kdyby měl to login tak by nic nemohl pokazit ?

Uživatelský avatar
satik
Level 6
Level 6
Příspěvky: 3509
Registrován: leden 15
Bydliště: Krkonoše
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod satik » 03 dub 2016 21:04

Moc bych to neriskoval, databázi bys takhle vůbec neměl někde vystavovat přímo, nikdy nevíš, kdo se ti do toho dostane a vytáhne si třeba přihlašovací údaje i pro zápis, pokud to třeba špatně nastavíš. Nebo si přečte údaje týkající se ostatních uživatelů apod. (nevím, k jakým přesně účelům to plánuješ využít).
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index

Uživatelský avatar
lukas.sei
Level 4
Level 4
Příspěvky: 1070
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod lukas.sei » 04 dub 2016 14:18

Dobře. Jak bys to teda řešil ty ? Mohl bys mi poslat nějakou stránku, kde by bylo popsáno, jak to udělat ? Nejlépe, aby to pochopil i nezasvěcený. :D

Uživatelský avatar
satik
Level 6
Level 6
Příspěvky: 3509
Registrován: leden 15
Bydliště: Krkonoše
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod satik » 04 dub 2016 14:42

O žádné teď nevím, prostě ti na serveru poběží nějaká služba (klidně to může být i obyčejná PHP stránka nebo .NET služba), které se ta tvoje aplikace zeptá na data (místo toho, aby se ptala přímo té databáze).
Ta služba si řekne databázi o data a pak je pošle tvé aplikaci.
Samozřejmě nebudeš z aplikace třeba posílat ten SQL dotaz, ale jen třeba se zeptáš na seznam všech uživatelů a ta služba už bude vědět, jaký sql příkaz má zavolat...

Nevím, jestli tam budeš nějak rozlišovat data jednotlivých uživatelů - pak bys potřeboval nějakou autorizaci - třeba přihlášení nebo nějaký hash podle sériového čísla windows apod.
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index

Uživatelský avatar
lukas.sei
Level 4
Level 4
Příspěvky: 1070
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod lukas.sei » 04 dub 2016 15:09

Jo to se mi zdá chytré. Takže prakticky bych v C# poslal dotaz do PHP (ve stylu "pošli mi seznam uživatelů"), PHP by se za mě zeptalo DB a poslalo do C# pouze odpověď ?

Akorát teda nevím jak komunikovat s PHP :D. Ale na to snad nějak příjdu.

Uživatelský avatar
Eldan
Level 3.5
Level 3.5
Příspěvky: 691
Registrován: leden 16
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod Eldan » 04 dub 2016 17:23

1) NIKDY nepiš do aplikace žádné přihlašovací údaje.
2) Udělej si an webu api, které pošleš požadavek (/api.php?request=getDataFromTableX&token=blabla). Autentifikuj přes nějaký způsob unikátního tokenu (který nezůstává stále stejný, nýbrž se mění, klidně třeba hash času + něcp k tomu).
3) Obfuskuj, programů je na to hodně. Ačkoliv všechno je deobfuskovatelné, u mnoha způsobů obfuskace (virtualmachine a jiné monstrozity...) to stojí neskutečné množství času a úsilí, takže alespoň většinu šťouralů odradíš :)

Jak udělat požadavek na web? new WebClient().DownloadString("http://stranka.com/api.php?something") a dostaneš data co to vrátí jako plaintext.

Uživatelský avatar
lukas.sei
Level 4
Level 4
Příspěvky: 1070
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod lukas.sei » 04 dub 2016 18:36

Dobře dík. A mohl bys mi ještě prosím poslat nějakou ukázku toho api ?

Uživatelský avatar
Eldan
Level 3.5
Level 3.5
Příspěvky: 691
Registrován: leden 16
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod Eldan » 05 dub 2016 10:55

Hledej, najdeš toho spoustu. Např. tohle vlákno na StackOverflow.

Uživatelský avatar
lukas.sei
Level 4
Level 4
Příspěvky: 1070
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod lukas.sei » 06 dub 2016 20:17

Díky. Už jsem začal tvořit api a přepisovat aplikaci, tak aby s ním pracovala. Jenže jsem teď narazil. Jak mám v C# zvládnout akci "die("nějaký erorr;")" ?
Když dám požadavek na php do Try, tak se stejně bezproblémově vykoná. Ale já potřebuji, aby když se v php zavolá "die();" ukázala ta moje aplikace chybu.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zabezpečení C# aplikace proti .NET Reflector

Příspěvekod CZechBoY » 06 dub 2016 22:40

Musíš v tom C# klientovi parsovat odpověď serveru a když se tam nalezne řetězec třeba "error:" tak vyhodit chybu.
Případně použít nějakej formát, do kterýho si dáš víc informací než jen odpovědní text - např. json (status code, response text, ...).
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Zabezpečení firemního PC (Heslo)
    od KRA » 04 srp 2023 10:23 » v Vše ostatní (hw)
    4
    1026
    od Martab Zobrazit poslední příspěvek
    04 srp 2023 12:48
  • Nastavení zabezpečení internetu zabránilo v otevření jednoho nebo více souborů Příloha(y)
    od magnator » 06 čer 2023 10:23 » v Windows 11, 10, 8...
    3
    1782
    od mmmartin Zobrazit poslední příspěvek
    06 čer 2023 21:22
  • O2 TV aplikace - NEFUNGUJE?
    od holas18 » 09 dub 2023 16:17 » v Vše ostatní (z oblasti IT)
    5
    3020
    od pcmaker Zobrazit poslední příspěvek
    21 dub 2023 18:15
  • Aplikace na stabilizaci videa
    od pavel2010 » 28 led 2024 11:28 » v Design a grafické editory
    1
    725
    od petr22 Zobrazit poslední příspěvek
    28 led 2024 12:36
  • Explorer.exe - chyba aplikace 0x0000000000000024
    od Dav98786 » 31 led 2024 20:26 » v Windows 11, 10, 8...
    2
    636
    od Dav98786 Zobrazit poslední příspěvek
    01 úno 2024 09:17

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti