FixVibe
Covered by FixVibecritical

SQL එන්නත් කිරීම: අනවසර දත්ත සමුදා ප්‍රවේශය වැළැක්වීම

SQL එන්නත් කිරීම (SQLi) යනු යෙදුමක දත්ත සමුදා විමසුම්වලට ප්‍රහාරකයන් බාධා කරන තීරණාත්මක අවදානමකි. අනිෂ්ට SQL වාක්‍ය ඛණ්ඩය එන්නත් කිරීමෙන්, ප්‍රහාරකයන්ට සත්‍යාපනය මඟ හැරිය හැක, මුරපද සහ ක්‍රෙඩිට් කාඩ් විස්තර වැනි සංවේදී දත්ත බැලීම, හෝ යටින් පවතින සේවාදායකයට සම්මුතියක් ඇති කළ හැක.

CWE-89

SQL එන්නත් කිරීමේ බලපෑම

SQL එන්නත් කිරීම (SQLi) ප්‍රහාරකයෙකුට එහි දත්ත ගබඩාව වෙත යෙදුමක් කරන විමසුම් වලට බාධා කිරීමට ඉඩ සලසයි. මූලික බලපෑමට පරිශීලක මුරපද, ක්‍රෙඩිට් කාඩ් විස්තර, සහ පුද්ගලික තොරතුරු [S1] වැනි සංවේදී දත්ත වෙත අනවසර ප්‍රවේශය ඇතුළත් වේ.

දත්ත සොරකම් කිරීමෙන් ඔබ්බට, ප්‍රහාරකයන්ට බොහෝ විට දත්ත සමුදා වාර්තා වෙනස් කිරීමට හෝ මකා දැමීමට හැකි වන අතර, එය යෙදුම් හැසිරීමේ නිරන්තර වෙනස්වීම්වලට හෝ දත්ත නැතිවීමට හේතු වේ [S1]. අධි-තීව්‍රතා අවස්ථා වලදී, පසු-අන්ත යටිතල පහසුකම් සම්මුතියට පත් කිරීමට, සේවා ප්‍රතික්ෂේප කිරීමේ ප්‍රහාර සක්‍රීය කිරීමට, හෝ සංවිධානයේ පද්ධති [S1]FIXVIBETOKEN1ZXCVZBETOKEN1ZXCVZBETKVEN1ZXCVZBETCVCVK2 තීව්‍ර කළ හැක.

මූල හේතුව: අනාරක්ෂිත ආදාන හැසිරවීම

SQL එන්නත් කිරීමේ මූලික හේතුව වන්නේ SQL විධානයක් වන [S2] හි භාවිතා වන විශේෂ මූලද්‍රව්‍ය අනිසි ලෙස උදාසීන කිරීමයි. මෙය සිදු වන්නේ යෙදුමක් [S1][S2] විමසුම් තන්තුවට සෘජුවම බාහිරින් බලපෑම් කරන ලද ආදානය සංකලනය කිරීමෙන් SQL විමසුම් ගොඩනඟන විටය.

විමසුම් ව්‍යුහයෙන් ආදානය නිසියාකාරව හුදකලා වී නොමැති නිසා, දත්ත සමුදා පරිවර්තකයා විසින් එය වචනාර්ථ දත්ත [S2] ලෙස සලකනවාට වඩා SQL කේතය ලෙස පරිශීලක ආදානයේ කොටස් ක්‍රියාත්මක කළ හැක. SELECT ප්‍රකාශ, INSERT අගයන්, හෝ UPDATE ප්‍රකාශ [S1] ඇතුළු විමසුමක විවිධ කොටස්වල මෙම අවදානම ප්‍රකාශ විය හැක.

කොන්ක්‍රීට් සවි කිරීම් සහ අවම කිරීම්

පරාමිතික විමසුම් භාවිතා කරන්න

SQL එන්නත් කිරීම වැලැක්වීම සඳහා වඩාත් ඵලදායී ක්රමයක් වන්නේ පරාමිතික විමසුම් භාවිතා කිරීමයි, එය සූදානම් කළ ප්රකාශයන් [S1] ලෙසද හැඳින්වේ. තන්තු සම්බන්ධ කිරීම වෙනුවට, සංවර්ධකයින් දත්ත සහ කේත [S2] වෙන් කිරීම බලාත්මක කරන ව්‍යුහගත යාන්ත්‍රණ භාවිතා කළ යුතුය.

අවම වරප්‍රසාදයේ මූලධර්මය

යෙදුම් ඔවුන්ගේ කාර්යයන් සඳහා අවශ්‍ය අඩුම වරප්‍රසාද භාවිතා කරමින් දත්ත ගබඩාවට සම්බන්ධ විය යුතුය [S2]. වෙබ් යෙදුම් ගිණුමකට පරිපාලන වරප්‍රසාද නොතිබිය යුතු අතර [S2] එහි ක්‍රියාකාරිත්වය සඳහා අවශ්‍ය නිශ්චිත වගු හෝ මෙහෙයුම් වලට සීමා විය යුතුය.

ආදාන වලංගුකරණය සහ කේතනය කිරීම

පරාමිතිකරණය සඳහා ආදේශකයක් නොවුවද, ආදාන වලංගුකරණය ආරක්ෂාව-ගැඹුරු [S2] සපයයි. යෙදුම් [S2] අපේක්ෂිත වර්ග, දිග, සහ ආකෘති ගැළපෙන බව තහවුරු කරමින්, පිළිගත්-දන්නා-හොඳ උපාය මාර්ගයක් භාවිත කළ යුතුය.

FixVibe ඒ සඳහා පරීක්ෂා කරන ආකාරය

FixVibe දැනටමත් දොරටු සහිත active.sqli ස්කෑනර් මොඩියුලය හරහා SQL එන්නත් ආවරණය කරයි. සක්‍රීය ස්කෑන් ක්‍රියාත්මක වන්නේ වසම් හිමිකාරිත්වය සත්‍යාපනය සහ සහතික කිරීමෙන් පසුව පමණි. චෙක්පත විමසුම් පරාමිති සමඟ එකම සම්භවයක් ඇති GET අන්ත ලක්ෂ්‍ය බඩගා යයි, මූලික ප්‍රතිචාරයක් ස්ථාපිත කරයි, SQL-විශේෂිත බූලියන් විෂමතා සොයයි, සහ බහු ප්‍රමාද දිග හරහා කාල තහවුරු කිරීමෙන් පසුව සොයා ගැනීමක් පමණක් වාර්තා කරයි. නිධිය ස්කෑන් කිරීම code.web-app-risk-checklist-backfill හරහා මුල් හේතුව සොයා ගැනීමට ද උපකාරී වේ, එය සැකිලි අන්තර් සම්බන්ධනය සමඟ ගොඩනගා ඇති අමු SQL ඇමතුම් සලකුණු කරයි.