+ Hozzászól a témához
Oldal: 2 / 3 ElsőElső 123 UtolsóUtolsó
Eredmény: 11 - 20 (24) összesen

Téma: A legveszélyesebb programozási hibák

  1. #11
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.108

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Idézet WSzP eredeti hozzászólása Hozzászólás megtekintése
    Nos, Rubyban erre nincs szükség, mert nincsenek változók a fogalom hagyományos értelmében, mert minden egy objektum.

    A klasszikus példa az, hogy
    Kód:
    'macska'.upcase! * 2
    Ennek az eredménye, hogy
    Kód:
    MACSKAMACSKA
    Vegyük következő Ruby kódot:
    Kód:
    x = "macska #{csel}"
    csel = 'facsel'
    (x+" ")*3
    Ennek procedurálisan gondolkozva sok értelme nem lenne. De ennek ellenére ez egy teljesen jó Ruby kód, az eredménye:
    Kód:
    macska facsel macska facsel macska facsel
    Ugyanakkor:
    Kód:
    csel = 'facsel'
    alma = 'csel'
    eval alma
    eredménye
    Kód:
    facsel
    Miért? Mert az eval a string tartalmát Ruby kódként értelmezi. Ez nagyon hasonlít a PHP azonos nevű függvényéhez, de azért mégsem az.

    De van tovább is:
    Kód:
    csel = 'macska'
    alma = '(csel+" ")*3'
    eval alma
    Ennek az eredménye:
    Kód:
    macska macska macska
    Ha nem akarsz evalt használni, akkor kell írj egy osztály. Így megkaphatod a macska változó értékét, ha amúgy nem tudod a változó nevét, csak azt, hogy a cica változó tartalmazza. Ez kb. a $$cica lesz. Nem nehéz megírni attr_accessorral.
    Ez nagyon agyafúrt, de tetszik. Kicsit olyan érzésem volt, mintha olyan konstansokkal dolgoznál, amiknek meg lehet változtatni az értékét. Egyébként most elmegyek lottózni, valahogy éreztem, hogy hozzá fogsz szólni ehhez a postomhoz.



  2. #12
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.108

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Idézet Szikar eredeti hozzászólása Hozzászólás megtekintése
    Ez tetszik! Mostanában egyre jobban foglalkoztat, hogy megimerem a Ruby-t.
    WSzp kimossa az agyunkat és pár hónap múlva már mindnyájan Ruby-hívők leszünk



  3. #13
    'Say Hello To My Little Friend'
    Csatlakozott
    09-07-09
    Hely
    Erdély.MArosvásárhely
    Hozzászólás
    2.201

    Király re: A legveszélyesebb programozási hibák

    Idézet edem eredeti hozzászólása Hozzászólás megtekintése
    WSzp kimossa az agyunkat és pár hónap múlva már mindnyájan Ruby-hívők leszünk
    Vajon mi kell ahhoz, hogy hivatalosan bejegyzett egyházzá váljunk?



  4. #14
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.108

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Idézet WSzP eredeti hozzászólása Hozzászólás megtekintése
    Vajon mi kell ahhoz, hogy hivatalosan bejegyzett egyházzá váljunk?
    Hivatalos egyház bejegyzés.
    Ha a Szcientológiát sikerült létrehozni, akkor onnantól bármit lehet



  5. #15
    'Say Hello To My Little Friend'
    Csatlakozott
    09-07-09
    Hely
    Erdély.MArosvásárhely
    Hozzászólás
    2.201

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Vajon az nem működne, hogy
    Kód:
    class RubyEgyhaz < Egyhaz::Hit
      protect_from_forgery 
    end
    Kezdetben ennyi elég is lenne. A protect_from_forgery kell, hogy megvédje a cross site request forgery-től, elvégre nem szeretnénk, ha a PHP-sok összezavarnák a híveinket mindenféle kérésekkel.

    És így vissza is tértünk a topichoz, hogy milyen fontos a CSRF védelem.


    Utoljára módosítva: WSzP által : 2010-02-18 14:27

  6. #16
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.108

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Idézet WSzP eredeti hozzászólása Hozzászólás megtekintése
    Vajon az nem működne, hogy
    Kód:
    class RubyEgyhaz < Egyhaz::Hit
      protect_from_forgery 
    end
    Kezdetben ennyi elég is lenne. A protect_from_forgery kell, hogy megvédje a cross site request forgery-től, elvégre nem szeretnénk, ha a PHP-sok összezavarnák a híveinket mindenféle kérésekkel.

    És így vissza is tértünk a topichoz, hogy milyen fontos a CSRF védelem.


    Az pl nem is tudom, hogy micsoda :O (még)



  7. #17
    scs
    scs nem elérhető
    Meridian scs logója
    Csatlakozott
    09-01-31
    Hely
    "Sehonnai bitang ember"
    Hozzászólás
    3.004

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Idézet WSzP eredeti hozzászólása Hozzászólás megtekintése
    Vajon mi kell ahhoz, hogy hivatalosan bejegyzett egyházzá váljunk?
    Asszem legalább 100 taggal kell rendelkeznie, és máris lehet jegyeztetni.
    Vagyunk itt annyian? Összedobjuk neked, és máris celebrálhatod online a Ruby-miséket.


    A természet igazságos:
    Aki vak, az jobban hall. - Aki süket, az jobban lát. - Akinek rövidebb az egyik lába, annak hosszabb a másik.

  8. #18
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.108

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Idézet scs eredeti hozzászólása Hozzászólás megtekintése
    Asszem legalább 100 taggal kell rendelkeznie, és máris lehet jegyeztetni.
    Vagyunk itt annyian? Összedobjuk neked, és máris celebrálhatod online a Ruby-miséket.
    Ez elég groteszk gondolat!
    És hogy szólna a bevezető ima?

    Kód:
    Mi fordítónk ki vagy a merevlemezen,
    szenteltessék meg a te kódod
    jöjjön el a te debuggered,
    legyen meg a te futási időd
    miképp linuxon úgy windowson is.
    Mindennapi látogatottságunkat
    add meg nekünk ma
    és bocsájts meg a crackereknek
    ahogy mi is megbocsájtunk steve ballmer-nek
    és ne vígy minket a bad sectorokhoz,
    de szabadíts meg a bugoktól.
    
    Enter




  9. #19
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.108

    Alapbeállítás re: A legveszélyesebb programozási hibák

    Ez az alap lista:
    • A weblap struktúra megőrzésének a hiánya
    Ilyen akkor fordulhat elő, ha a szoftver nem megfelelően ellenőrzi, illetve szűri a felhasználótól jövő információkat, mielőtt az a szoftverbe kerülne. (pl adatbázis)
    • Az SQL parancsokban található speciális elemek nem megfelelő "tisztítása" (SQL Injection)
    A program olyan elemekből épít fel SQL parancsokat, melyek külső forrásból érkeznek és nincsenek, vagy nem megfelelően vannak ellenőrizve, tehát így megváltoztatható az SQL parancs.
    • Buffer másolása a buffer méretének ellenőrzése nélkül (klasszikus buffer overflow)
    A program egy bejövő buffert anélkül másol egy kimenő bufferbe, mielőtt ellenőrizné, hogy a bejövő adatok mennyisége kisebb-e, mint a kimenő adatoké, ami buffer túlcsorduláshoz vezet.
    • Kereszt-oldali kérés hamisítása
    Az alkalmazás nem tudja, vagy nem megfelelően tudja ellenőrizni, hogy a kérés attól a felhasználótól jött-e, aki a kérést eredetileg leadta.
    • Nem megfelelő hozzáférhetőségek (jogosultságok)
    A szoftver nem, vagy nem megfelelően ellenőrzi a hozzáférhetőséget a lehetséges végrehajtási utakon.
    • Nem megbízható adatok felhasználása biztonsági döntésekhez
    Az alkalmazás olyan védekezési mechanizmusokat használ, melyek olyan információkon, vagy adatokon nyugszanak, melyek befolyásolhatók nem megbízható felhasználók által.
    • Korlátozott katalógusok elérhetőségének nem megfelelő korlátozása (elérési út bejárás)
    A szoftver olyan külső adatot használ az elérési út felépítéséhez, melyet nem megfelelően ellenőriz és ez ahhoz vezethet, hogy külső felhasználó olyan adatokhoz fér hozzá, melyek a megengedett katalógusokon kívül esnek.
    • Veszélyes filetípusok feltölthetősége
    A szoftver lehetőséget ad a támadóknak olyan file-t feltölteni, amely veszélyes formátumú és később esetleg az alkalmazás által automatikusan lefut.
    • Az OS parancsokban található speciális elemek nem megfelelő tisztítása
    Az SQL injecthez hasonlít, csak OS parancsokkal.
    • Érzékeny információk titkosításának hiánya
    A program nem titkosít kritikus, vagy érzékeny adatokat, mielőtt az adatbázisba továbbítja őket
    • Személyes adatok rögzítése a forráskódba
    A szoftver olyan előre programozott adatokat tartalmaz, mint a jelszavak, titkosító kulcsok és ezeket felhasználja futása során.
    • Buffer elérhetőség nem megfelelő hosszúság értékkel
    A szoftver írás, vagy olvasás során nem megfelelő hosszúságú buffert alkalmaz, mely így olyan memória területeket érinthet, melyek a buffer határán kívül esnének.
    • Include / Require nem megfelelő használata fájl csatolásához
    A PHP alkalmazás külső adatot használ, melyet ellenőrzés nélkül, vagy rossz ellenőrzéssel továbbad az "include", vagy "require" és hasonló parancsoknak.
    • Tömb indexek nem megfelelő érvényesítése
    The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.
    A termék nem megbízható adatot használ a tömbindex számításához, vagy használatához, de nem ellenőrzi, hogy a bejövő adat érvényes elemre mutat-e
    • Nem szokványos és kivételes esetek nem megfelelő ellenőrzése
    A szoftver nem-, vagy nem megfelelően ellenőrzi a szokatlan, vagy kivételes feltételeket, melyek a szoftver általános működése során nem fordulnak elő.
    • Információ kiszivárgása hibaüzeneteken keresztül
    A szoftver futása során olyan hibaüzeneteket hozhat létre, melyek érzékeny adatokat tartalmazhatnak a futási környezettel, a felhasználókkal, vagy adatokkal kapcsolatban.
    • Integer overflow (egy számot kisebb kapacitású változóba másolunk)
    A program olyan számítást végez, mely azt feltételezi, hogy az eredmény mindig nagyobb lesz, mint az eredeti érték, de az érétkhez hozzárendelt változó nem képes tárolni a nagyobb számot és ez a szám torzulásához vezethet. Ez hibákat okozhat, amikor ezeket a számokat erőforrások allokálásához, vagy a program futásának a vezéréléséhez használjuk.
    • Buffer méretének nem megfelelő számítása
    A program nem megfelelően számolja ki a buffer méretét, amikor allokálja, így buffer túlcsorduláshoz vezethet.
    • Hiányzó authentikáció kritikus funkciókhoz
    A szoftver nem hitelesíti a felhasználót, mielőtt olyan funkciót használna, mely bizonyos felhasználókhoz kötöt (pl adminisztrátor), vagy nagy mennyiségű erőforrást emészt fel.
    • Kód letölthetősége ellenőrzés nélkül
    A termék olyan forráskódot futtat egy távoli forrásból, melynek nem megfelelően ellenőrzi az eredetiségét és a sértetlenségét.
    • Kiemelten fontos erőforrások nem megfelelő jogosultság-kezelése
    A szoftver olyan jogosultságokat határoz meg egy biztonsági szempontból fontos erőforráshoz, mely lehetővé teszi, hogy az erőforrást nem jogosult felhasználók is olvassák.
    • Erőforrások határok nélküli allokálása
    A szoftver újrafelhasználható erőforrásokat, vagy erőforrások csoportjait allokálja anélkül, hogy ezeket korlátozná.
    • URL átirányítás nem megbízható oldalra
    • Rossz, vagy veszélyes titkosító algoritmus használata
    • Versenyhelyzet (holtpont)
    Kell a kifejtés is?


    Utoljára módosítva: edem által : 2010-02-18 17:12

  10. #20
    human being Blog: Geri logója
    Csatlakozott
    07-12-15
    Hely
    Middle of nowhere
    Hozzászólás
    3.666

    Alapbeállítás re: A legveszélyesebb programozási hibák

    katalógusok === mappák ,

    ne tükörfordítsd hanem az értelmet is nézd
    de egyébként rendes vagy hogy lefordítottad. szerintem ez így egy kezdőt inkább csak elriaszt, mert a fele kínainak fog tűnni. szóval ha van kedved/időd akkor a részletezés sem ártana.


    No Pain, No Gain
    linkbuilding.hu
    ruby on rails
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.

+ Hozzászól a témához

A téma címkéi:

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76