වෙබ් අඩවි ආරක්ෂාවේ මාරාන්තික පව්: වසර සඳහා අවදානම් ස්කෑනර් සංඛ්‍යාලේඛන වලින් අප ඉගෙන ගත් දේ

වසරකට පමණ පෙර, DataLine හි අපි දියත් කළෙමු සේවාව තොරතුරු තාක්ෂණ යෙදුම්වල දුර්වලතා සෙවීමට සහ විශ්ලේෂණය කිරීමට. සේවාව Qualys cloud විසඳුම මත පදනම් වේ, එහි ක්‍රියාකාරිත්වය පිළිබඳව අපි දැනටමත් කිව්වා. විසඳුම සමඟ වැඩ කිරීමේ වසරක කාලය තුළ, අපි විවිධ අඩවි සඳහා ස්කෑන් 291 ක් සිදු කළ අතර වෙබ් යෙදුම්වල පොදු දුර්වලතා පිළිබඳ සංඛ්‍යාලේඛන රැස් කළෙමු. 

පහත ලිපියෙන් මම ඔබට පැහැදිලිව පෙන්වන්නම් වෙබ් අඩවි ආරක්‍ෂාවෙහි විවිධ මට්ටම්වල විවේචන පිටුපස සැඟවී ඇති සිදුරු මොනවාද යන්න. ස්කෑනරය විශේෂයෙන් නිතර සොයා ගන්නා දුර්වලතා මොනවාද, ඒවා ඇති විය හැක්කේ ඇයි සහ ඔබව ආරක්ෂා කර ගන්නේ කෙසේද යන්න අපි බලමු. 

වෙබ් අඩවි ආරක්ෂාවේ මාරාන්තික පව්: වසර සඳහා අවදානම් ස්කෑනර් සංඛ්‍යාලේඛන වලින් අප ඉගෙන ගත් දේ

Qualys සියළුම වෙබ් යෙදුම් දුර්වලතා විවේචනාත්මක මට්ටම් තුනකට බෙදා ඇත: පහත්, මධ්‍යම සහ ඉහළ. ඔබ "දරුණුකම" මගින් බෙදා හැරීම දෙස බැලුවහොත්, සෑම දෙයක්ම එතරම් නරක නොවන බව පෙනේ. ඉහළ මට්ටමේ විවේචනයක් සහිත දුර්වලතා කිහිපයක් ඇත, බොහෝ විට සියල්ල විවේචනාත්මක නොවේ: 

වෙබ් අඩවි ආරක්ෂාවේ මාරාන්තික පව්: වසර සඳහා අවදානම් ස්කෑනර් සංඛ්‍යාලේඛන වලින් අප ඉගෙන ගත් දේ

නමුත් විවේචනාත්මක නොවන යන්නෙන් අදහස් කරන්නේ හානිකර නොවන බවයි. ඔවුන් ද බරපතල හානි සිදු කළ හැකිය. 

ඉහළම "විවේචනාත්මක නොවන" දුර්වලතා

  1. මිශ්‍ර අන්තර්ගත දුර්වලතා.

    වෙබ් අඩවි ආරක්‍ෂාව සඳහා වන ප්‍රමිතිය HTTPS ප්‍රොටෝකෝලය හරහා සේවාලාභියා සහ සේවාදායකය අතර දත්ත මාරු කිරීම, එය සංකේතනයට සහය වන අතර තොරතුරු බාධාවන්ගෙන් ආරක්ෂා කරයි. 

    සමහර අඩවි භාවිතා කරයි මිශ්ර අන්තර්ගතය: සමහර දත්ත අනාරක්ෂිත HTTP ප්රොටෝකෝලය හරහා මාරු කරනු ලැබේ. එය බොහෝ විට ප්‍රකාශ වන්නේ එලෙස ය උදාසීන අන්තර්ගතය - වෙබ් අඩවියේ දර්ශනයට පමණක් බලපාන තොරතුරු: පින්තූර, css මෝස්තර. නමුත් සමහර අවස්ථාවලදී එය සම්ප්රේෂණය වන්නේ මෙලෙසයි ක්රියාකාරී අන්තර්ගතය: අඩවියේ හැසිරීම පාලනය කරන ස්ක්‍රිප්ට්. මෙම අවස්ථාවෙහිදී, විශේෂ මෘදුකාංගයක් භාවිතයෙන්, ඔබට සේවාදායකයෙන් එන සක්‍රීය අන්තර්ගතයන් සමඟ තොරතුරු විශ්ලේෂණය කළ හැකිය, පියාසර කරන විට ඔබේ ප්‍රතිචාර වෙනස් කර යන්ත්‍රය එහි නිර්මාතෘ විසින් අදහස් නොකරන ආකාරයට ක්‍රියා කළ හැකිය. 

    බ්‍රවුසරවල නව සංස්කරණ මඟින් මිශ්‍ර අන්තර්ගතයන් සහිත අඩවි අනාරක්ෂිත බවත් අන්තර්ගතය අවහිර කරන බවත් පරිශීලකයින්ට අනතුරු අඟවයි. වෙබ් අඩවි සංවර්ධකයින්ට කොන්සෝලය තුළ බ්‍රව්සර් අනතුරු ඇඟවීම් ද ලැබේ. උදාහරණයක් ලෙස, එය පෙනෙන ආකාරය මෙයයි ෆයර්ෆොක්ස්

    වෙබ් අඩවි ආරක්ෂාවේ මාරාන්තික පව්: වසර සඳහා අවදානම් ස්කෑනර් සංඛ්‍යාලේඛන වලින් අප ඉගෙන ගත් දේ

    භයානක දේ: ප්‍රහාරකයන් පරිශීලක තොරතුරුවලට බාධා කිරීමට, ස්ක්‍රිප්ට් ප්‍රතිස්ථාපනය කිරීමට සහ ඔහු වෙනුවෙන් වෙබ් අඩවියට ඉල්ලීම් යැවීමට අනාරක්ෂිත ප්‍රොටෝකෝලයක් භාවිතා කරයි. අඩවි නරඹන්නෙකු දත්ත ඇතුළත් නොකළද, මෙය ඔහුගෙන් ආරක්ෂා නොවේ තතුබෑම් - වංචනික ක්‍රම භාවිතා කරමින් රහස්‍ය තොරතුරු ලබා ගැනීම. උදාහරණයක් ලෙස, ස්ක්‍රිප්ට් එකක් භාවිතයෙන්, ඔබට පරිශීලකයාට හුරුපුරුදු වෙබ් අඩවියක් ලෙස පෙනී සිටින අනාරක්ෂිත අඩවියකට පරිශීලකයා හරවා යැවිය හැක. සමහර අවස්ථාවලදී, අනිෂ්ට වෙබ් අඩවිය මුල් පිටපතට වඩා හොඳ පෙනුමක් ඇති අතර, පරිශීලකයාට පෝරමය පුරවා රහස්‍ය දත්ත ඉදිරිපත් කළ හැකිය. 

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: අඩවි පරිපාලක විසින් SSL/TLS සහතිකයක් ස්ථාපනය කර වින්‍යාස කර ඇතත්, මානව දෝෂයක් හේතුවෙන් අවදානමක් ඇතිවිය හැක. උදාහරණයක් ලෙස, ඔබ එක් පිටුවක සාපේක්ෂ සබැඳියක් නොව, http වෙතින් නිරපේක්ෂ සබැඳියක් තැබුවේ නම් සහ ඊට අමතරව ඔබ http සිට https වෙත යළි-යොමුවීම් සකසා නොමැති නම්. 

    ඔබට බ්‍රවුසරයක් භාවිතයෙන් වෙබ් අඩවියක මිශ්‍ර අන්තර්ගතයන් හඳුනාගත හැක: පිටුවේ මූල කේතය සොයන්න, සංවර්ධක කොන්සෝලයේ දැනුම්දීම් කියවන්න. කෙසේ වෙතත්, සංවර්ධකයාට දිගු වේලාවක් සහ වෙහෙසකර ලෙස කේතය සමඟ ටින්කර් කිරීමට සිදුවනු ඇත. ඔබට ස්වයංක්‍රීය විශ්ලේෂණ මෙවලම් සමඟ ක්‍රියාවලිය වේගවත් කළ හැකිය, උදාහරණයක් ලෙස: SSL චෙක්පත, නොමිලේ ප්‍රදීපාගාර මෘදුකාංගයක් හෝ ගෙවන මෘදුකාංගයක් Screaming Frog SEO Spider.

    එසේම, උරුම වූ ලෙගසි-කේත - කේතය සමඟ ඇති ගැටළු හේතුවෙන් අවදානමක් ඇති විය හැක. උදාහරණයක් ලෙස, සමහර පිටු පැරණි අච්චුවකට අනුව ජනනය කරන්නේ නම්, එය වෙබ් අඩවි https වෙත මාරු කිරීම සැලකිල්ලට නොගනී.    

  2. "HTTPO පමණක්" සහ "සුරක්ෂිත" කොඩි නොමැති කුකීස්.

    "HTTPOonly" ගුණාංගය මඟින් පරිශීලක දත්ත සොරකම් කිරීමට ප්‍රහාරකයන් භාවිතා කරන ස්ක්‍රිප්ට් මඟින් කුකීස් සැකසීමෙන් ආරක්ෂා කරයි. "සුරක්ෂිත" ධජය කුකීස් පැහැදිලි පාඨයකින් යැවීමට ඉඩ නොදේ. කුකීස් යැවීමට ආරක්ෂිත HTTPS ප්‍රොටෝකෝලය භාවිතා කරන්නේ නම් පමණක් සන්නිවේදනයට ඉඩ දෙනු ලැබේ. 

    ගුණාංග දෙකම කුකී ගුණාංගවල දක්වා ඇත:

    Set-Cookie: Secure; HttpOnly

    භයානක දේ: අඩවි සංවර්ධකයා මෙම ගුණාංග සඳහන් නොකළේ නම්, ප්‍රහාරකයෙකුට කුකියෙන් පරිශීලකයාගේ තොරතුරු බාධා කර එය ගසාකෑමට හැකිය. සත්‍යාපනය සහ අවසරය සඳහා කුකීස් භාවිතා කරන්නේ නම්, ඔහුට පරිශීලකයාගේ සැසිය පැහැර ගැනීමට සහ ඔහු වෙනුවෙන් වෙබ් අඩවියේ ක්‍රියා කිරීමට හැකි වනු ඇත. 

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: රීතියක් ලෙස, ජනප්රිය රාමු තුළ මෙම ගුණාංග ස්වයංක්රීයව සකසා ඇත. නමුත් තවමත් වෙබ් සේවාදායක වින්‍යාසය පරීක්ෂා කර ධජය සකසන්න: Set-Cookie HttpOnly; ආරක්ෂිතයි.

    මෙම අවස්ථාවෙහිදී, "HTTPOonly" ගුණාංගය ඔබගේම JavaScript වෙත කුකීස් නොපෙනී යයි.  

  3. මාර්ගය පදනම් වූ දුර්වලතා.

    ප්‍රසිද්ධියේ ප්‍රවේශ විය හැකි ගොනුවක් හෝ රහස්‍ය තොරතුරු සහිත වෙබ් අඩවි නාමාවලියක් සොයා ගන්නේ නම් ස්කෑනරය එවැනි අවදානමක් වාර්තා කරයි. උදාහරණයක් ලෙස, එය තනි පද්ධති වින්‍යාස ගොනු හඳුනා ගැනීම හෝ සම්පූර්ණ ගොනු පද්ධතියට ප්‍රවේශ වීම. වෙබ් අඩවියේ ප්රවේශ අයිතිවාසිකම් වැරදි ලෙස සකසා ඇත්නම් මෙම තත්වය හැකි ය.

    භයානක දේ: ගොනු පද්ධතිය "ඇලවීම" නම්, ප්රහාරකයෙකු මෙහෙයුම් පද්ධති අතුරුමුහුණතට වැටිය හැකි අතර, ඒවා පැහැදිලි පෙළෙහි ගබඩා කර ඇත්නම් මුරපද සහිත ෆෝල්ඩර සොයා ගැනීමට උත්සාහ කරන්න (එය නොකරන්න!). එසේත් නැතිනම් ඔබට මුරපද හෑෂ් සොරකම් කර මුරපදයට තිරිසන් ලෙස බල කළ හැකි අතර, පද්ධතිය තුළ වරප්‍රසාද ඉහළ නැංවීමට සහ යටිතල ව්‍යුහයට ගැඹුරට යාමට උත්සාහ කරන්න.  

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: ප්‍රවේශ අයිතිවාසිකම් ගැන අමතක නොකරන්න සහ වෙබ් නාමාවලියෙන් "පලා යාමට" නොහැකි වන පරිදි වේදිකාව, වෙබ් සේවාදායකය, වෙබ් යෙදුම වින්‍යාස කරන්න.

  4. ස්වයං-පිරවීම සබල කර ඇති සංවේදී දත්ත ඇතුළත් කිරීම සඳහා පෝරම.

    පරිශීලකයෙකු නිතර වෙබ් අඩවිවල පෝරම පුරවන්නේ නම්, ඔවුන්ගේ බ්‍රවුසරය ස්වයංක්‍රීය පිරවුම් විශේෂාංගය භාවිතයෙන් මෙම තොරතුරු ගබඩා කරයි. 

    වෙබ් අඩවිවල ඇති පෝරමවල මුරපද හෝ ක්‍රෙඩිට් කාඩ් අංක වැනි සංවේදී තොරතුරු සහිත ක්ෂේත්‍ර ඇතුළත් විය හැක. එවැනි ක්ෂේත්ර සඳහා, වෙබ් අඩවියේම පෝරමය ස්වයංක්රියව පිරවීමේ කාර්යය අක්රිය කිරීම වටී. 

    භයානක දේ: පරිශීලකයාගේ බ්‍රවුසරය සංවේදී තොරතුරු ගබඩා කරන්නේ නම්, ප්‍රහාරකයෙකුට එය පසුව බාධා කළ හැක, උදාහරණයක් ලෙස තතුබෑම් හරහා. සාරාංශයක් ලෙස, මෙම සූක්ෂ්මතාවය ගැන අමතක වූ වෙබ් සංවර්ධකයෙකු ඔහුගේ පරිශීලකයින් සකසයි. 

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: මෙම අවස්ථාවේදී, අපට සම්භාව්‍ය ගැටුමක් ඇත: පහසුව එදිරිව ආරක්ෂාව. වෙබ් සංවර්ධකයෙකු පරිශීලක අත්දැකීමක් ගැන සිතන්නේ නම්, ඔහුට දැනුවත්ව ස්වයං සම්පූර්ණ කිරීම තෝරා ගත හැකිය. උදාහරණයක් ලෙස, එය අනුගමනය කිරීම වැදගත් නම් වෙබ් අන්තර්ගත ප්‍රවේශවීමේ මාර්ගෝපදේශ - ආබාධ සහිත පරිශීලකයින් සඳහා අන්තර්ගත ප්‍රවේශය සඳහා නිර්දේශ. 

    බොහෝ බ්‍රව්සර් සඳහා, ඔබට autocompete="off" ගුණාංගය සමඟ ස්වයං සම්පූර්ණ කිරීම අක්‍රිය කළ හැක, උදාහරණයක් ලෙස:

     <body>
        <form action="/si/form/submit" method="get" autocomplete="off">
          <div>
            <input type="text" placeholder="First Name">
          </div>
          <div>
            <input type="text" id="lname" placeholder="Last Name" autocomplete="on">
          </div>
          <div>
            <input type="number" placeholder="Credit card number">
          </div>
          <input type="submit">
        </form>
      </body>

    නමුත් එය ක්‍රෝම් සඳහා ක්‍රියා නොකරනු ඇත. මෙය JavaScript භාවිතයෙන් මඟ හරිනු ලැබේ, වට්ටෝරුවෙහි ප්‍රභේදයක් සොයාගත හැකිය මෙහි

  5. X-Frame-Options ශීර්ෂකය අඩවි කේතය තුළ සකසා නොමැත. 

    මෙම ශීර්ෂකය රාමු, iframe, embed, හෝ object tags වලට බලපායි. එහි ආධාරයෙන්, ඔබේ වෙබ් අඩවිය රාමුවක් තුළට කාවැද්දීම සම්පූර්ණයෙන්ම තහනම් කළ හැකිය. මෙය සිදු කිරීම සඳහා, ඔබ X-Frame-Options: deny අගය සඳහන් කළ යුතුය. නැතහොත් ඔබට X-Frame-Options සඳහන් කළ හැක: sameorigin, එවිට iframe එකක කාවැද්දීම ලබා ගත හැක්කේ ඔබගේ වසමේ පමණි.

    භයානක දේ: එවැනි ශීර්ෂයක් නොමැති වීම අනිෂ්ට අඩවි වල භාවිතා කළ හැක clickjacking. මෙම ප්‍රහාරය සඳහා, ප්‍රහාරකයා බොත්තම් මත විනිවිද පෙනෙන රාමුවක් නිර්මාණය කර පරිශීලකයා රවටා ගනී. උදාහරණයක් ලෙස: වංචාකරුවන් වෙබ් අඩවියක සමාජ ජාල පිටු රාමු කරයි. පරිශීලකයා සිතන්නේ ඔහු මෙම වෙබ් අඩවියේ බොත්තමක් ක්ලික් කරන බවයි. ඒ වෙනුවට, ක්ලික් කිරීම බාධා වන අතර පරිශීලකයාගේ ඉල්ලීම ක්රියාකාරී සැසියක් පවතින සමාජ ජාලයට යවනු ලැබේ. ප්‍රහාරකයින් පරිශීලකයා වෙනුවෙන් අයාචිත තැපෑල යවන ආකාරය හෝ ග්‍රාහකයින් සහ කැමැත්ත ලබා ගන්නේ මෙයයි. 

    ඔබ මෙම විශේෂාංගය අක්‍රිය නොකරන්නේ නම්, ප්‍රහාරකයෙකුට ඔබගේ යෙදුම් බොත්තම අනිෂ්ට වෙබ් අඩවියක තැබිය හැක. ඔහු ඔබේ යොමු කිරීමේ වැඩසටහන හෝ ඔබේ පරිශීලකයින් ගැන උනන්දු විය හැකිය.  

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: වෙබ් සේවාදායකයේ හෝ ලෝඩ් බැලන්සර් මත ගැටෙන අගයක් සහිත X-Frame-Options සකසා ඇත්නම් අවදානම සිදුවිය හැක. මෙම අවස්ථාවෙහිදී, සේවාදායකය සහ සමතුලිතකය පසුබිම් කේතයට සාපේක්ෂව ඉහළ ප්‍රමුඛතාවයක් ඇති බැවින්, ශීර්ෂකය නැවත ලියයි.  

    X-Frame-Options ශීර්ෂයේ ප්‍රතික්ෂේප කිරීම සහ සම්භවය අගයන් Yandex වෙබ් නරඹන්නාගේ ක්‍රියාකාරිත්වයට බාධා කරයි. වෙබ් නරඹන්නා සඳහා iframes භාවිතා කිරීමට ඉඩ දීම සඳහා, ඔබ විසින් සැකසුම් තුළ වෙනම රීතියක් ලිවිය යුතුය. උදාහරණයක් ලෙස, nginx සඳහා ඔබට එය මෙලෙස වින්‍යාසගත කළ හැකිය:

    http{
    ...
     map $http_referer $frame_options {
     "~webvisor.com" "ALLOW-FROM http://webvisor.com";
     default "SAMEORIGIN";
     }
     add_header X-Frame-Options $frame_options;
    ...
    }
    
    

  6. PRSSI (මාර්ග-සාපේක්ෂ මෝස්තර පත්‍ර ආනයනය) දුර්වලතා.  

    මෙය වෙබ් අඩවියේ හැඩගැන්වීමේ දුර්වලතාවයකි. විලාස ගොනු වෙත ප්‍රවේශ වීමට href="/si/somefolder/styles.css/" වැනි සාපේක්ෂ සබැඳි භාවිතා කරන්නේ නම් එය සිදු වේ. පරිශීලකයා අනිෂ්ට පිටුවකට හරවා යැවීමට ක්‍රමයක් සොයා ගන්නේ නම් ප්‍රහාරකයෙකු මෙයින් ප්‍රයෝජන ගනු ඇත. පිටුව එහි url වෙත සාපේක්ෂ සබැඳියක් ඇතුළු කර මෝස්තර ඇමතුමක් අනුකරණය කරයි. ඔබට badsite.ru/.../somefolder/styles.css/ වැනි ඉල්ලීමක් ලැබෙනු ඇත, එය විලාසිතාවේ මුවාවෙන් අනිෂ්ට ක්‍රියා සිදු කළ හැකිය. 

    භයානක දේ: වංචනිකයෙකුට වෙනත් ආරක්ෂක සිදුරක් සොයා ගතහොත් මෙම අවදානම ප්‍රයෝජනයට ගත හැකිය. එහි ප්රතිඵලයක් වශයෙන්, කුකීස් හෝ ටෝකන් වලින් පරිශීලක දත්ත සොරකම් කිරීමට හැකි වේ.

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: X-අන්තර්ගත-වර්ගය-විකල්ප ශීර්ෂය සකසන්න: nosniff. මෙම අවස්ථාවේදී, බ්‍රවුසරය මෝස්තර සඳහා අන්තර්ගත වර්ගය පරීක්ෂා කරනු ඇත. වර්ගය text/css හැර වෙනත් නම්, බ්‍රවුසරය ඉල්ලීම අවහිර කරයි.

විවේචනාත්මක දුර්වලතා

  1. මුරපද ක්ෂේත්‍රයක් සහිත පිටුවක් සේවාදායකයෙන් අනාරක්ෂිත නාලිකාවක් හරහා සම්ප්‍රේෂණය වේ (මුරපද ක්ෂේත්‍ර (ය) අඩංගු HTML පෝරමය HTTP හරහා සේවය කරයි).

    සංකේතනය නොකළ නාලිකාවක් හරහා සේවාදායකයෙන් ලැබෙන ප්‍රතිචාරය “මිනිසා මැද” ප්‍රහාරවලට ගොදුරු විය හැකිය. ප්‍රහාරකයෙකුට ගමනාගමනයට බාධා කළ හැකි අතර පිටුව සේවාදායකයේ සිට සේවාදායකයා දක්වා ගමන් කරන විට සේවාදායකයා සහ සේවාදායකයා අතරට සම්බන්ධ විය හැකිය. 

    භයානක දේ: වංචනිකයාට පිටුව ප්‍රතිස්ථාපනය කිරීමට සහ පරිශීලකයාට රහස්‍ය දත්ත සඳහා පෝරමයක් යැවීමට හැකි වනු ඇත, එය ප්‍රහාරකයාගේ සේවාදායකයට යයි. 

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: සමහර අඩවි පරිශීලකයින්ට මුරපදයක් වෙනුවට විද්‍යුත් තැපෑලෙන්/දුරකථනයෙන් එක් වරක් කේතයක් යවයි. මෙම අවස්ථාවෙහිදී, අවදානම එතරම් විවේචනාත්මක නොවේ, නමුත් යාන්ත්රණය පරිශීලකයින්ගේ ජීවිත සංකීර්ණ කරනු ඇත.

  2. අනාරක්ෂිත නාලිකාවක් හරහා පිවිසුම් සහ මුරපදය සහිත පෝරමයක් යැවීම (පිවිසුම් පෝරමය HTTPS හරහා ඉදිරිපත් නොකෙරේ).

    මෙම අවස්ථාවේදී, පිවිසුම් සහ මුරපදය සහිත පෝරමයක් පරිශීලකයාගෙන් සංකේතනය නොකළ නාලිකාවක් හරහා සේවාදායකයට යවනු ලැබේ.

    භයානක දේ: පෙර නඩුව මෙන් නොව, මෙය දැනටමත් විවේචනාත්මක අවදානමකි. ඔබට එය කිරීමට කේතයක් ලිවීමට අවශ්‍ය නොවන නිසා සංවේදී දත්ත වලට බාධා කිරීම පහසුය. 

  3. දන්නා දුර්වලතා සහිත JavaScript පුස්තකාල භාවිතා කිරීම.

    ස්කෑන් කිරීමේදී, වැඩිපුරම භාවිතා කරන ලද පුස්තකාලය වූයේ පුළුල් අනුවාද ගණනාවක් සහිත jQuery ය. සෑම අනුවාදයකම අවම වශයෙන් එකක් හෝ ඊටත් වඩා දන්නා දුර්වලතා ඇත. අවදානමේ ස්වභාවය අනුව බලපෑම බෙහෙවින් වෙනස් විය හැකිය.

    භයානක දේ: දන්නා දුර්වලතා සඳහා සූරාකෑම් ඇත, උදාහරණයක් ලෙස:

    වෙබ් අඩවි ආරක්ෂාවේ මාරාන්තික පව්: වසර සඳහා අවදානම් ස්කෑනර් සංඛ්‍යාලේඛන වලින් අප ඉගෙන ගත් දේ

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: නිතිපතා චක්‍රය වෙත ආපසු යන්න: දන්නා දුර්වලතා සොයන්න - නිවැරදි කරන්න - පරීක්ෂා කරන්න. ඔබ පැරණි බ්‍රවුසර සඳහා සහය දැක්වීමට හෝ මුදල් ඉතිරි කිරීමට, හිතාමතාම පැරණි පුස්තකාල භාවිතා කරන්නේ නම්, දන්නා අවදානමක් නිවැරදි කිරීමට අවස්ථාවක් සොයන්න. 

  4. Cross-site scripting (XSS). 
    Cross-Site Scripting (XSS), හෝ cross-site scripting යනු දත්ත සමුදාය තුළට අනිෂ්ට මෘදුකාංග හඳුන්වාදීමේ ප්‍රතිඵලයක් ලෙස වෙබ් යෙදුමකට පහර දීමකි. Qualys එවැනි අවදානමක් සොයා ගන්නේ නම්, එයින් අදහස් වන්නේ විභව ප්‍රහාරකයෙකුට අනිෂ්ට ක්‍රියාවන් සිදු කිරීම සඳහා අඩවි කේතයට ඔහුගේම js ස්ක්‍රිප්ට් එකක් හඳුන්වා දිය හැකි බවයි.

    XSS ගබඩා කර ඇත වඩාත් භයානක වන්නේ, ස්ක්‍රිප්ට් සේවාදායකයේ තැන්පත් කර ඇති අතර ප්‍රහාර එල්ල වූ පිටුව බ්‍රවුසරයේ විවෘත කරන සෑම අවස්ථාවකම ක්‍රියාත්මක වන බැවිනි.

    පිළිබිඹු කරන ලද XSS HTTP ඉල්ලීමකට අනිෂ්ට ස්ක්‍රිප්ට් එකක් එන්නත් කළ හැකි බැවින් ක්‍රියාත්මක කිරීම පහසුය. යෙදුමට HTTP ඉල්ලීමක් ලැබෙනු ඇත, දත්ත වලංගු නොකරනු ඇත, එය ඇසුරුම් කර වහාම යවනු ලැබේ. ප්‍රහාරකයෙකු ගමනාගමනයට බාධා කර ස්ක්‍රිප්ට් එකක් ඇතුළු කළහොත්

    <script>/*+что+то+плохое+*/</script> 

    එවිට සේවාදායකයා වෙනුවෙන් අනිෂ්ට ඉල්ලීමක් එවනු ලැබේ.

    XSS හි කැපී පෙනෙන උදාහරණයක්: CVC, කාඩ්පත් කල් ඉකුත්වන දිනය සහ යනාදිය ඇතුළත් කිරීම සඳහා පිටු අනුකරණය කරන js sniffers. 

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: Content-Security-Policy ශීර්ෂය තුළ, විශ්වාසදායක මූලාශ්‍රයකින් පමණක් බාගත කර ක්‍රියාත්මක කිරීමට සේවාදායක බ්‍රවුසරයට බල කිරීමට script-src ගුණාංගය භාවිතා කරන්න. උදාහරණයක් ලෙස, script-src 'self' අපගේ වෙබ් අඩවියෙන් පමණක් සියලුම ස්ක්‍රිප්ට් සුදු ලැයිස්තුගත කරයි. 
    හොඳම පරිචය වන්නේ Inline කේතයයි: අනාරක්ෂිත පේළිගත අගය භාවිතයෙන් පමණක් inline javascript ඉඩ දෙන්න. මෙම අගය inline js/css භාවිතයට ඉඩ සලසයි, නමුත් js ගොනු ඇතුළත් කිරීම තහනම් නොකරයි. script-src 'self' සමඟ ඒකාබද්ධව අපි බාහිර ස්ක්‍රිප්ට් ක්‍රියාත්මක වීම අක්‍රිය කරමු.

    වාර්තා-උරි භාවිතයෙන් සියල්ල ලොග් කිරීමට වග බලා ගන්න සහ එය වෙබ් අඩවියට ක්‍රියාත්මක කිරීමට දරන උත්සාහයන් දෙස බලන්න.

  5. SQL එන්නත්.
    වෙබ් අඩවියේ දත්ත ගබඩාවට සෘජුවම ප්‍රවේශ වන වෙබ් අඩවියකට SQL කේතය එන්නත් කිරීමේ හැකියාව අවදානමෙන් පෙන්නුම් කරයි. පරිශීලකයාගේ දත්ත තිරගත නොකළහොත් SQL එන්නත් කළ හැකිය: එය නිවැරදි බව පරීක්ෂා කර නොමැති අතර විමසුමේදී වහාම භාවිතා වේ. උදාහරණයක් ලෙස, වෙබ් අඩවියක ඇති පෝරමයක් ආදානය දත්ත වර්ගයට ගැළපේදැයි පරීක්ෂා නොකළහොත් මෙය සිදුවේ. 

    භයානක දේ: ප්‍රහාරකයෙකු මෙම පෝරමයට SQL විමසුමක් ඇතුළු කළහොත්, ඔහුට දත්ත සමුදාය බිඳ වැටීමට හෝ රහස්‍ය තොරතුරු හෙළි කිරීමට හැකිය. 

    වෙබ් සංවර්ධකයෙකු මතක තබා ගත යුතු දේ: බ්‍රවුසරයෙන් එන දේ විශ්වාස නොකරන්න. ඔබ සේවාදායකයා පැත්තෙන් සහ සේවාදායක පැත්තෙන් ඔබ ආරක්ෂා විය යුතුය. 

    සේවාලාභියාගේ පැත්තෙන්, JavaScript භාවිතයෙන් ක්ෂේත්‍ර වලංගුකරණය ලියන්න. 

    ජනප්‍රිය රාමු තුළ ගොඩනඟන ලද කාර්යයන් සේවාදායකයේ සැක සහිත අක්ෂරවලින් ගැලවීමට ද උපකාරී වේ. සේවාදායකයේ පරාමිතික දත්ත සමුදා විමසුම් භාවිතා කිරීම ද නිර්දේශ කෙරේ.

    වෙබ් යෙදුමේ දත්ත සමුදාය සමඟ අන්තර්ක්‍රියා සිදුවන්නේ කොතැනද යන්න තීරණය කරන්න. 

    අපට කිසියම් තොරතුරක් ලැබුණු විට අන්තර්ක්‍රියා සිදුවේ: හැඳුනුම්පතක් සහිත ඉල්ලීමක් (ID වෙනස් කිරීම), නව පරිශීලකයෙකු නිර්මාණය කිරීම, නව අදහස් දැක්වීමක් හෝ දත්ත සමුදායේ නව ඇතුළත් කිරීම්. SQL එන්නත් කිරීම් සිදුවිය හැක්කේ මෙහිදීය. අපි දත්ත ගබඩාවෙන් වාර්තාවක් මකා දැමුවත්, SQL එන්නත් කළ හැකිය.

පොදු නිර්දේශ

රෝදය ප්‍රතිනිර්මාණය නොකරන්න - ඔප්පු කළ රාමු භාවිතා කරන්න. රීතියක් ලෙස, ජනප්රිය රාමු වඩාත් ආරක්ෂිත වේ. .NET - ASP.NET MVC සහ ASP.NET Core සඳහා, Python - Django හෝ Flask සඳහා, Ruby - Ruby on Rails සඳහා, PHP සඳහා - Symfony, Laravel, Yii, JavaScript සඳහා - Node.JS-Express.js, Java සඳහා - වසන්ත MVC.

විකුණුම්කරුවන්ගේ යාවත්කාලීනයන් අනුගමනය කර නිතිපතා යාවත්කාලීන කරන්න. ඔවුන් අවදානමක් සොයා ගනු ඇත, පසුව ගසාකෑමක් ලියන්න, එය ප්රසිද්ධියේ ලබා ගත හැකි අතර, සියල්ල නැවත සිදුවනු ඇත. මෘදුකාංග වෙළෙන්දාගෙන් ස්ථාවර අනුවාද සඳහා යාවත්කාලීන සඳහා දායක වන්න.

ප්රවේශ හිමිකම් පරීක්ෂා කරන්න. සේවාදායකයේ පැත්තෙන්, සෑම විටම ඔබේ කේතය පළමු ලිපියේ සිට අවසාන අකුර දක්වා, ඔබේ වෙබ් අඩවිය බිඳ දැමීමට කැමති, ඔබේ දත්තවල අඛණ්ඩතාව උල්ලංඝනය කිරීමට කැමති ඔබේ වඩාත්ම වෛරයට ලක් වූ සතුරා විසින් ලියා ඇති ආකාරයට සලකන්න. එපමණක්ද නොව, සමහර විට මෙය සත්යයකි.

ක්ලෝන, පරීක්ෂණ අඩවි භාවිතා කරන්න, ඉන්පසු ඒවා නිෂ්පාදනය සඳහා භාවිතා කරන්න. මෙය පළමුව, ඵලදායී පරිසරයක වැරදි සහ වැරදි වළක්වා ගැනීමට උපකාරී වනු ඇත: ඵලදායී පරිසරයක් මුදල් ගෙන එයි, සරල නිෂ්පාදන පරිසරයක් ඉතා වැදගත් වේ. කිසියම් ගැටළුවක් එකතු කිරීමේදී, නිවැරදි කිරීමේදී හෝ වසා දැමීමේදී, පරීක්ෂණ පරිසරයක වැඩ කිරීම වටී, පසුව සොයාගත් ක්‍රියාකාරීත්වය සහ දුර්වලතා පරීක්ෂා කිරීම, පසුව නිෂ්පාදන පරිසරය සමඟ වැඩ කිරීමට සැලසුම් කිරීම. 

සමඟ ඔබේ වෙබ් යෙදුම ආරක්ෂා කරන්න වෙබ් යෙදුම් ෆයර්වෝල් සහ අවදානම් ස්කෑනරයේ වාර්තා ඒ සමඟ ඒකාබද්ධ කරන්න. උදාහරණයක් ලෙස, DataLine සේවා සමූහයක් ලෙස Qualys සහ FortiWeb භාවිතා කරයි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න