Jump to content
php.lv forumi

007007

Reģistrētie lietotāji
  • Posts

    12
  • Joined

  • Last visited

Posts posted by 007007

  1. 65 rūtiņu variants nav patiess, jo pirmajā attēlā redzamās figūras neveido taisnu diagonāli, kā tas ir redzams otrajā attēlā. Ja tas jāpaskaidro tirgus tantei, tad trapeču trijstūru malu attiecība ir 2/5, savukārt trijstūru - 3/8, t.i., 16/40 ≠ 15/40.

     

    Man liekas tur trapeces ir 'apsviestas otrādi'.. Bet tas laikam nav svarīgi..

     

     

    Ā. Tirgus tantei arī pieleca..

  2. 1. tā arī no autora nesapratu - tas inklūdojamais fails ir tur, kur to meklē?

    2. šis fails inklūdojas bez _GET, bet "pa taisno"?

     

    Inklūdojamais fails tur IR. un kā vēl ir. pilnīgi acīs kož, cik ļoti viņš tur ir..

    'Pa taisno' fails inklūdojas bez problēmām.

  3. Jā, par C ievainojamību esmu dzirdējis, bet tieši PHP sakarā gan nē...

    Ja paskatās php.net, tad tur arī īpaši nekas par šo nav teikts(http://php.net/manua...m.nullbytes.php), tik vien kā, ka var rasties problēmas failu sistēmas gadījumā, bet kurš tad ar veselu saprātu liek nepārbaudītus lietotāja datus iekš include vai require...

    Ir, ir ievainojamība.. Kā jau minēju php kompilators rakstīts C. tāpēc ja problēmas C, tad problēmas arī php. I-netā var atrast funkcijas, kuras php nav drošas pret šo. include vistrakākā. Un protams ka es lietošu white-listus, bet šeit vienkārši čakarēju to, kas lācītim vēderā..

  4. Jā, tā ir Sī valoda.. Cik zinu, php kompilators rakstīts tajā, un null byts apzīmē līnijas beigu, jo tur string datus ievada kā array, kur katrs elements ir viena rakstzīme no string..

     

    Un jā, šīs ir mācības.. Lai saprastu kā no tā izsargāties, jāsaprot, kas nedarbosies.. Bet nesanāk man to savu skriptu uzlauzt tā kā gribētos. Ja nu tas ko dod, tad lietoju php 5.4.4. caur XAMP lokālā servera instalāciju uz Win7

    Es būtu baigi pateicīgs ja kāds iedotu jau gatavu tādu, uz kuru tas null byts darbojas tā kā es gribu. Lai var izpētīt..

  5. nu bet duh, paskaties savu kodu nedaudz cītīgāk:

     

    include($_GET['file_to_inc'])   .    '.php';

     

    Saproti, kas tur notiek? Tu iekļauj failu no $_GET, un veic include() funkcijas atgrieztās vērtības konkatenāciju ar '.php'.

     

    Tāpēc vienmēr vajadzētu operatoriem likt priekšā/pakaļā atstarpes, lai neveidojas šādas muļķīgas kļūdas.

     

    Likt $_GET iekš include arī supermuļķīgi. Izmantojam whitelist principu šādos gadījumos (ja vien tas nav dinamisks gadījums. Tad attiecīgi vajadzētu validēt/filtrēt šo vērtību)

    Ne gluži. "Because include is a special language construct, parentheses are not needed around its argument. Take care when comparing return value. " (http://lv.php.net/ma...ion.include.php) Tātad, tiek izpildīts include ar iekavu vērtību, kas savienota ar tekstu '.php'.

     

    Pievienojos

     

    p.s. Ko tik jaunu neizdodas uzzināt katru dienu...

     

     

     

    Atvainojos jums abiem par tāda veida '.php' konkatenāciju. Bet problēma nepazūd, ja to labo, un faili ir vietās. Patiesībā include funkcija parasti dod divus errorus -viens par to, ka fails neeksistē, un otrs tālāk izrietošs, ka failu nevarēja iekļaut. Lūk, kā man te ir:

     

    1. veids. browserī ievadu (bez NullByte): "http://localhost/fil...to_inc=file.txt"

    Warning: include(file.txt.php): failed to open stream: No such file or directory in C:\xampp\htdocs\files\index.php on line 6

    Warning: include(): Failed opening 'file.txt.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\files\index.php on line 6

     

     

    2.veids. browserī ievadu(ar NullByte): "http://localhost/fil...inc=file.txt%00"

    Warning: include(): Failed opening 'file.txt' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\files\index.php on line 6

     

     

    Kā redzams,pirmajā veidā include funkcija saņem "file.txt.php" un pirmais errors saka, ka tāds fails neeksistē (tā arī ir). Otrajā veidā, pateicoties nulbytam, include funckija saņem jau vairs tikai "file.txt" un vairs nav errora par to, ka fails neeksistē (jo tas eksistē), bet saglabājas errors, ka to nevar atvērt. Kāpēc tā notiek?

  6. Par NullByte darbību ārzemju resursos atradu tikai diezgan ierobežotu informāciju.. Vai varat padalīties ar info, kad tas darbojas, kad nē utt? Būtībā cik saprotu vissāpīgākā vieta ir iespēja iespaidot include(); funkciju, ja tajā ievieto GET datus, ko gan es nekad tāpat nedarītu, bet piemēra pēc. Piemēram, šis kods:

    <?php
    if($_GET['file_to_inc']){
    include($_GET['file_to_inc'].'.php');
    }
    else{
    echo 'File to include is not specified yet.';
    }
    ?>
    

     

    Ievadot browserī: "http://localhost/first/index.php?file_to_inc=firstfile.txt%00"

    ,

    tam vajadzētu atvērt manu eksistējošo firstfile.txt , jo NullBytam būt jālikvidē php kodā pievienotais .php paplašinājums. Tomēr tā nenotiek un saņemu lejāk esošo erroru. Tajā .php itkā it dzēsies, bet fails neievietpjas.. Kādēļ tas nestrādā?

    "Warning: include() [function.include]: Failed opening 'firstfile.txt' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\first\index.php on line 3"

  7. Tā kā esmu galīgs iesācējs, vēlos precizēt drošas hashoshanas noteikumus. Vai tā tik tiešām ir, kā vēsta šis raksts:

    http://phpacademy.org/forum/viewtopic.php?f=8&t=15356

     

    Kā dažādu algoritmu palaišana ķēdē, piem, sha512 un sha256 var padarīt paroli vājāku nekā lietojot tikai vienu algoritmu? Pēc manas saprašanas ķēdes lietošana to nepadarīs īpaši spēcīgāku, bet tā taču to nevar padarīt vājāku, ne tā?

     

    Un vēl apgalvots, ka drošai sha512 lietošanai tas jāieliek loop'ā, kas hashos doto paroli vismaz 5000 reižu, lai procesu padarītu sarežģītāku un lēnāku. Izklausās saprātīgi.. Ko sakāt?

     

    Un visbeidzot kādas atsauksmes par šajā forumā Dieva vietā nostādīto Bcrypt ?

     

    Paldies.

×
×
  • Create New...