Wednesday, December 30, 2009

ව්‍යාවසාදනය – bash කාව්‍යකරණයේ අත්ගුණය


කාව්‍යකරණයක් ගැන නොවැ මං කියල තියෙන්නේ... කලා රසයෙන් යුත් කවි දෙපදක් රස විඳින්න හිතාගෙන මේ පැත්තෙ ආපු අයගෙන් මුලින්ම මං සමාව අයදිනවා... නෝනාවරුනි, මහත්වරුනි.... ඔබේ බලාපොරොත්තු කඩවෙනවා. :-)

පරිගණක ක්‍රමලේඛණයට අධික ඇල්මක් දක්වන නිසා ඒක මට දැනෙන්නෙ කාව්‍ය රචනයක් වගේ.... මම දන්නෙ නෑ අනිත් අයටත් එහෙමද කියල. එදිනෙදා ඇති වෙන ලොකු - පොඩි ගැටළුවකදි ශිල්ප දාලා program කෑල්ලක් අටවගන්න එක පරිගණකත් එක්ක ගෙවෙන මගේ ජීවිතේ සාමාන්‍ය දෙයක් බවට පත් වෙලා. ඇත්තෙන්ම මම පරිගණක ක්‍රමලේඛණයේ අපූර්වත්වය විඳින්න පුරුදු වෙලා තියෙනව කිව්වොත් නිවැරදියි, programming is passion!

එතකොට ව්‍යාවසාදනයක් (disinfect) ගැන කියල තියෙන්නෙ මොකක්ද? මේ සටහන මගේ පසුගිය සටහනට සම්බන්ධයි. ඒකෙ ඉතිරි කොටස කියමුකෝ. මෙතනින් එහාට යන්න කලින්, මම මීට කලින් ලියූ බ්ලොග් සටහන වරක් කියවල මේ පැත්තෙ එන්න පුළුවන් නම් ඉතාම හොඳයි. මීළඟ අභියෝගය වුණේ malware හේතුවෙන් ආසාදිත වී තිබුණු ගොනු ටික හොයා ගන්න එකයි, වෙබ් අඩවිය සම්පූර්ණයෙන් ශුද්ධ කරන එකයි. (ආසාදිත ගොනු ටික කිව්වට පසුව සොයා බැලුවම 602ක්!)

මම කළ ප්‍රතිකර්මය කියන්න කලින් මම මේකෙ මුල් කොටසට ආපු ප්‍රතිචාර ගැන යමක් සඳහන් කරන්න හිතුවා. ලැබුණු ප්‍රතිචාර වලින් මම තෘප්තිමත්. එහෙම නොවුණනං දෙවෙනි කොටසක් ලියවෙන්නෙ නැහැනේ. :-)  හැබැයි, මේ වගේ තාක්ෂණික ලියවිලි වලදි මම ප්‍රතිචාර වලින් බලාපොරොත්තු වෙනවා තවත් යමක්. ඒ මගේ අඩු පාඩු. මම පොට වරද්දාගෙන තියෙන තැන්... නොමග ගිය තැන්... සටහන් අන්තර්ගතයෙ වැරදි... වගේ දේවල්. ඒ විතරක් නෙවෙයි සමහර අය වැරදි වැටහීමක් ඇති කරගෙන තිබුණා මේ ආසාදිත වෙබ් අඩවිය ශාකුන්තල.com කියලා. ඒක එහෙම නැහැ, ශාකුන්තල.com බොහොම සුවසේ තියෙනවා. ජනවාරි පළවෙනිදා ස්වයංක්‍රීවයම දියත් වෙන අළුත් නැවක් ඒක. ආසාදිත වෙබ් අඩවිය මට අයිති එකක් නෙවෙයි. ඒකෙ නම රහසක්. ;-)

ඉතින්... මම ලිව්ව එක ආපහු නිවී හැනහිල්ලෙ කියවනකොට මට දැනුණා අවුලක්. අන්තර්ගතය, නිගමන... ඒවයෙ අවුලක් පේන්න නෑ. අවුල තියෙන්නේ මම ගිය පාර.

අපේ පැත්තේ වලි වල සුලභ දෙයක් -- එකෙක් ගුටි කනවා තව එකෙක්ගෙන්... දැන් ගුටි කාපු එකාට ඕනේ පුළුවන් ඉක්මනින් ආපිටට නෙළන්න. සමහර විට ආපිටට නෙළන්න කල්ලි පිටින් යන්නෙ ගුටි කාපුවයෙ ඉදිමුම්වත් බහිනකම් ඉන්නෙ නැතුව. ඉතිං මේ වෙබ් අඩවි සංසිද්ධියෙදිත් මම කරල තිබුණේ එහෙම දෙයක්. අපේ වෙබ් අඩවියට වෙච්ච හානිය ගැන මුලින් තක්සේරුවක් කරනවා වෙනුවට මම කළේ වෙබ් අඩවියට ප්‍රහාරය එල්ල කළේ කවුද,.. කොහෙන්ද,... ආපිටට නෙළන්නෙ කොහොමද... ඔන්න ඔය වගේ විකාර හොයපු එක. මාර ඇඩ්මින් නේද? :P (හැබැයි ඒ සෙවිල්ල යම් තරමකින් හෝ වැඩක් ඇති දෙයක්)

හරි... දැන් ආපහු එමුකො මාතෘකාවට. හැම index ගොනුවක්ම සහ හැම javascript ගොනුවක්ම ආසාදනය වෙලා තියෙන බව සොයාගන්න පුළුවන් වුණු නිසා මුලින් මගේ අදහස වුණේ උපස්ථයකින් (backup) වෙබ් අඩවිය යළි පිහිටුවන්නයි. තිබුණු අළුත්ම උපස්ථයත් සෑහෙන පරණ ගතියක් දැනුණු නිසා මට backup වැඩේ හිතට හරි මදි. කොහොමටත් Backup & Restore මට එච්චර දිරවන මාතෘකාවක් නෙවෙයි.

ඒ නිසා මම කල්පනා කළා PHP වලින් සෙල්ලමක් දාලා ස්වයංක්‍රීයව ආසාදිත ගොනු ටික හොයාගෙන ඒවයෙ තියෙන ආගන්තුක කේත කොටස් ඉවත් කරන්න ක්‍රමයක් හදන්න. ආසාදනයේ ස්වභාවය අනුව මේක කරන්න පුළුවන් දෙයක්. නමුත්, PHP වලින් කරනවනම් ආරක්ෂාව ගැන තවදුරටත් හිතන්න වෙනවා. ඒකත් අමාරු දෙයක් නෙවෙයි.

Web hosting ආයතනය විසින් ssh ප්‍රවේශ පහසුකම් සලසා තිබුණු නිසා ssh හරහා වෙබ් අඩවියට පිවිසිලා මේ කාරණය ඉටු කරගන්න පුළුවන් බවත් මට වැටහුණා. මෙහෙයුම් පද්ධතිය විධියට ලිනක්ස් පාවිච්චි කරන මට bash එක්ක වැඩ කරනවා කියන්නේ අතිශයින්ම සාමාන්‍ය දෙයක්. ssh ප්‍රවේශ පහසුකමත් තියෙන නිසා, පරිගණකයත් එක්ක කතා බහ කරන්න මම නිතර පාවිච්චි කරන bash scripting මේ වැඩේට PHP වලට වඩා සුදුසු බව තේරුම් ගන්න මට වැඩි වෙලාවක් ගියේ නැහැ. අවසානයේ 'ඇන්ටිවයිරස්' එක bash පාවිච්චි කරලා linux shell script එකක් (මගේ වචන වලින් නම් bash කාව්‍යයක්) විධියට සකස් කරන්න තීරණය කළා.

අපි ලියන ක්‍රමලේඛයක අහම්බෙන් සිදු විය හැකි එක කුඩා විචල්‍යයක (variable) වරදක් නිසා සමහර විට පද්ධතියේ සියළු දත්ත ක්ෂණයකින් විනාශ වෙන්න පුළුවන්. ඒ වගේ අවදානමක් ගන්න ඕනේ නැති නිසා මම ලියන ක්‍රමලේඛය පරීක්ෂණ ධාවනයට (test run) ලක් කරන්න වෙබ් අඩවි ගොනු සියල්ල මගේ පරිගණකයට පිටපත් කරගත්තා.

$ ssh user@mysite.com

දැන් අපි සර්වර් එක ඇතුළේ...

$ tar cvfj mysite.tar.bz2 mysite/
$ exit

Compressed archive එකක් නිර්මාණය කළා. දැන් ඒක මගේ පරිගණයට ඩවුන්ලෝඩ් කරගන්න ඕනේ...

$ scp user@mysite.com:/home/user/mysite.tar.bz2 /home/shaakunthala/

දැන් පැක් එක ලිහන්න ඕනේ...

$ tar xvjf mysite.tar.bz

දැන් ලිහපු පැක් එක පැත්තක තියෙද්දි මගේ සුපුරුදු එඩිටරය වන vim පාවිච්චි කරලා shell script එක ලිවීම ආරම්භ කළා. ලියන්න කලින් අවශ්‍යතාව අවබෝධ කරගන්න ඕනේනේ... මෙන්න මෙහෙමයි ආසාදනයේ ස්වභාවය:
  • ආසාදිත ගොනු වල ආගන්තුක කේත කොටස තියෙන්නේ ගොනුවෙ අවසාන පේළිය ලෙස.
  • ආගන්තුක කේත කොටස තැනින් තැනට වෙනස්. නමුත් පොදු රටාවක් ලෙස එහි පහත දැක්වෙන පාඨ කොටස් හඳුනාගන්න පුළුවන්. ඒ නිසා සංකීර්ණ regexp ලිවීම අනවශ්‍යයි.
    • GNU GPL
    • window.onload
    • .replace
  • ආසාදනය වෙලා තිබුණෙ index ගොනු සහ javascript ගොනු පමණයි. (මෙය නිවැරදි තක්සේරුවක් කියා පිළිගන්න අපහසු දෙයක්. මේ නිසාත්, අපේ වෙබ් අඩවියෙ ශ්‍රව්‍ය-දෘෂ්‍ය වගේ විශාල ගොනු නොතිබුණු නිසාත් සියළුම ගොනු පරීක්ෂා කෙරෙන script එකක් ලිවීමෙන් වරදක් වෙන්නෙ නැහැ)
මේ කාරණා සැලකිල්ලට අරගෙන මුළු වෙබ් අඩවියම එකවර ශුද්ධ කරන script එකක් ලිවීම බොහොම පහසු කාරණයක් වුණා. bash functions සහ find -exec / xargs අතර පරහක් තියෙන නිසා මට script එක කොටස් දෙකකට වෙන් කරන්න සිදු වුණා.

sitefix.sh
#!/bin/bash
# Author: Sameera Shaakunthala

rm fixlog.txt
rootdir=`pwd`/mysite/
sup=`pwd`"/fixfile.sh"
find $rootdir -exec $sup {} \;
echo "JOB DONE!"

fixfile.sh
#!/bin/bash
# Author: Sameera Shaakunthala

echo "Processing file: "$1
code=`tail --lines=1 $1 | grep "GNU GPL" | grep window.onload | grep .replace`
l=`echo $code | wc -m | awk '{ print $1 }'`

if [ $l -ne 1 ]
then
 lc=`wc -l $1 | awk '{ print $1 }'`
 lc=`expr $lc - 1`
 head $1 -n $lc > tempfile.tmp
 mv tempfile.tmp $1
 echo "File "$1" has been fixed!" | tee -a fixlog.txt
fi

දැන් පරීක්ෂණ ධාවනය. මේක හරි ගියොත් වැඩේ තිතටම හරි.

$ chmod +x sitefix.sh fixfile.sh
$ ./sitefix.sh

මේක අහවර කරලා fixlog.txt ගොනුව පරීක්ෂා කරල බැලුවා.... ආසාදිත ගොනු 602ක්! අහඹු ලෙස ගොනු කීපයක් පරීක්ෂා කරල බැලුවා. ඒ හැම එකක්ම සුද්ධයි. යංතං අටවගත්ත වයිරස් ස්කෑනරේ සාර්ථක වෙලා! දැන් තියෙන්නෙ සර්වර් එකට මගේ දෙකඩ script එක පටවලා (upload) ක්‍රියාත්මක කරන එක.

$ scp sitefix.sh fixfile.sh user@mysite.com:/home/user
$ ssh user@mysite.com
$ chmod +x sitefix.sh fixfile.sh
$ ./sitefix.sh

අවසාන ප්‍රතිපලය වුණේ මිනිත්තු කිහිපයක් ඇතුළත අපේ වෙබ් අඩවිය සාර්ථක ලෙස ව්‍යාවසාදනය වීම. සියළුම malware කොටස් ඉවත් වී ඇති බව තහවුරු කර වුණේ antivirus මෘදුකාංග මගින් අපේ අඩවිය තවදුරටත් අවහිර නොකරන බව දැන ගත් විටයි. කොහොමද bash කාව්‍යකරණයේ අත්ගුණය? :-)

Hallelujah!

මේ සියල්ල සිද්ධ වුණේ දෙසැම්බර් 27 අළුයම් කාලයේ. මම ලියූ කේතය මගේ මිත්‍රයෙකුටත් ප්‍රයෝජනවත් වුණා. ඔහුගෙ වෙබ් අඩවියකුත් මේ ප්‍රහාරයටම ලක් වෙලා කියල ආරංචි වුණා. ඒක අපූරුවට වැඩ කළා ලු!

අද සටහන අවසාන කරන්නෙ බොහෝම නරක ආරංචියක් එක්කයි. මම භාෂා පරිවර්තකයෙක් නෙමෙයි... ඒ නිසා සිංහලෙන් ලියන්නෙ නෑ මේක >> ක්ලික් කරලම බලන්න...!


අවසානයේ කපිතන් ශාකුන්තල විසින් අනෙක් කපිතන්වරුන්ගේ හා නැවියන්ගේද උපකාර ඇතිව අහවල් නෞකාව බේරා ගන්නා ලදී. හිකිස්! :D

Thursday, December 24, 2009

Hacker ප්‍රහාරයක්...?


වෙබ් අඩවියක් පරිපාලනය කරනවා (website administration) කියන්නෙත් හරියට නැවක කපිතන් තනතුරේ ඉන්නව වගේ වැඩක්. හැම දෙයක් ගැන ම හැම ආකාරයකින් ම විමසිල්ලෙන් ඉන්න ඕනේ. ඇතුළතින් - පිටතින් දෙපැත්තෙන්ම එන සතුරු ප්‍රහාර වලට මුහුණදෙන්න ඕනේ... අන්තර්ගතය ගැන බලන්න ඕනේ... සෙවුම් යන්ත්‍රත් එක්ක තියෙන පළහිළව් විසඳන්නත් ඕනේ....
වෙබ් අඩවියෙ ප්‍රතිපත්තිත් (policies) එක්ක මේ වැඩ රාජකාරි ප්‍රමාණය  අඩු වැඩි වෙන්නත් පුළුවන්.

හරි.... එමුකො මාතෘකාවට. මගේ පරිපාලනය යටතෙ තියෙන එක වෙබ් අඩවියක් මෑතකදි හදිසියෙම අකර්මණ්‍ය වුණා. වෙබ් අඩවියට ගියාම සුදු පාට පිටුවක පෙන්නනවා දෝෂ පණිවුඩයක්... index.php ගොනුවෙ 38 වෙනි පේළිය... < ලකුණ තමයි අවුලට මුල කියල ඒ පිටුවෙ කියන්නේ. මේ අවුල දැක්ක සැණින් මට දැන්වූ බ්‍රයන් වෙත මගේ ස්තුතිය!

ඉතින් මමත් මේ ගැන සොයා බලන්න Filezilla මෘදුකාංගය පාවිච්චි කරලා FTP හරහා වෙබ් අඩවියෙ ගොනු තියෙන ඩිරෙක්ටරියට පිවිසුණා. මේ වෙබ් අඩවිය CMS එකක් භාවිතයෙන් නිර්මාණය කළ එකක්. index.php ගොනුව පිරික්සා බැලුවාම අමුතු දේවල් කීපයක්ම දකින්න ලැබුණා.

සාමාන්‍යයෙන් අපි PHP කේත ලිවීමේදී අපේ PHP කේත කොටස ලියන්නේ <?php හා ?> යන ටැග අතර. නමුත්, සුපුරුදු සම්මතයට පටහැනි වුණත්, අපේ php ගොනුවෙ තිබුණෙ ආරම්භක (<?php) ටැගය පමණයි.

PHP කේතයෙ අන්තිමේ HTML Script ටැගයක් තිබුණා. බොහොම භයංකර, බැලු බැල්මට hieroglyphs වගේ පේන අමුතු HTML/ Javascript කේත කෑල්ලක් ඒක.

එතකොට සම්පූර්ණ කේතය මෙන්න මේ වගේ:
<?php
/* වෙබ් අඩවියේ
PHP
කේත */

<script> // ආගන්තුක Javascript කේත කොටස </script>

හේතුනිර්ණය: දෝෂයට හේතු වුණේ PHP අස්සේ HTML තිබීම නිසා HTML කේත කොටසත් PHP කියල හිතාගෙන, අපේ සර්වර් එකේ PHP එන්ජිම මඤ්ඤං වීම.

---

ඉතින් මේක දැක්කාම මම කළ පළවෙනි දෙය මේ ගැන අනිත් පරිපාලකවරුන්ගෙන් (administrators) විමසීම. මේ කේතය ගැන ඒ කිසිවෙක් දැන සිටියෙ නැහැ.

එහෙනම්......
Hacker ප්‍රහාරයක් ද?

මගේ අනුමානය වුණේ මේ කවුරුහරි hacker කෙනෙකුගෙ වැරදුණු කුරුමානමක් කියලයි. මොකද අපේ වෙබ් අඩවිය අකර්මණ්‍ය කළා කියල කාටවත් අත්වෙන වාසියක් නැති නිසා. Phishing වගේ වැඩකට අපේ වෙබ් අඩවිය යොදා ගත්ත නම් ඒකෙන් ඔවුන්ට යම් වාසියක් ලබන්න අවස්ථාව තිබුණා.

කොහොම නමුත් අනිත් ඇඩිමින්ලා මේ ගැන නොදන්න නිසා (අනිත් අයගෙ දැනුවත් වීමකින්/ මැදිහත් වීමකින් තොරව සිද්ධ වුණු නිසා) මම ආගන්තුක HTML/ Javascript කේත කොටස විශ්ලේෂණය කිරීමේ අවශ්‍යතාව සඳහා මගේ පරිගණකයට පිටපත් කරගෙන, index.php ගොනුවෙන් ඉවත් කරලා ඒක save කළා. දැන් සයිට් එක බබා වගේ වැඩ.

හැබැයි.......... මගේ වැඩ එතනින් අහවර වෙන්නෙ නැහැ. මීළඟ පියවර සිද්ධියෙ අග මුල කොනක සිට සෙවීම. මෙන්න මෙහෙමයි අපේ වෙබ් අඩවියට ආසාදනය වෙලා තිබුණු විෂබීජය:



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

සිද්ධ වෙලා තිබුණෙ කලින් සිද්ධියමයි. ඉතින් මම පෙර වතාවෙ කළ සැත්කම ම ආපහු කරලා මීට විසඳුමක් හොයන්න උත්සුක වුණා. කාලෙකට පස්සෙ පොඩි අභියෝගයක්! මේක කරදරයක් නෙමෙයි.... අභියෝගයක්....!! සතුටු විය යුතුයි ඒ ගැන.

---

දැනට සිද්ධ වුණු දේවල් ගැන පොඩි සාකච්ඡාවක් මෙතනම ඉදිරිපත් කරන්න හිතුණා. සාකච්ඡාවට සහභාගි වුණේ මගේ මස්තිෂ්ක අර්ධගෝල දෙක.... තනියට පාලුවට අනුමස්තිෂ්කයත් පිටුපස්සෙන් හිටියලු...... :D

මේ මගුල අටවපු කෙනා ඒක කරල තියෙන්නෙ වෙබ් පිටුවක මේ කේතය අඩංගු කරලා වෙබ් පිටුව පූරණය වෙන අවස්ථාවෙ ඒක පරිශීලකගෙ පැත්තෙන් ක්‍රියාත්මක කරවන්න. නමුත් අපේ php ගොනුවෙ අග වැසීමේ ටැග් එක (?>) නැති නිසා, සර්වරය පැත්තෙන් ආගන්තුක HTML කේත කොටසක් PHP කේතයක් ලෙසම සලකලා interpret කරන්න උත්සාහ කිරීමෙ අවසාන ප්‍රතිපලය වුණේ මුළු වෙබ් අඩවියම අකර්මණ්‍ය වීම.


එක්කෝ අපිත් එක්ක සෙල්ලම් කරන කෙනා/ bot එක ට index.php ගොනුවෙ සම්පූර්ණයෙන් කියවන්න හැකියාවක් නැහැ. එහෙම නැත්නම් කියවා අවබෝධ කර ගන්න හැකියාවක් නැහැ. කියවා අවබෝධ කරගැනීමේ හැකියාවක් තිබුණා නම් ඒකාන්තයෙන්ම මේ වැඩේ කරන්නෙ මනුස්සයෙක්. නමුත් මේ දෙ වතාවේදී ම php කේතයෙ ව්‍යූහය නොතකා එහි අගට අන්ධ ලෙස HTML කේත කොටසක් එක් කර තිබීම නිසා මගේ නිගමනය වුණේ මේකට වගකියන්න ඕනෙ bot එකක්ම විය යුතුයි කියන එක.

මම මෙතෙක් ලබලා තියෙන දැනුමේ හැටියටත්, අපේ වෙබ් අඩවියෙ ස්වභාවයත් අනුවත්, වෙබ් ගවේශකයක් හෝ වෙනත් උපක්‍රමයක් පාවිච්චි කරලා HTTP හරහා මේ ප්‍රහාරය ක්‍රියාත්මක කිරීම අතිශයින්ම අසීරු දෙයක්. (HTTP ගැන හොඳ අවබෝධයක් තියෙනව නම් Firefox පවා hacking tool එකක් කරගන්න බොහොම පහසුයි! -- ඒක වෙනම කතන්දරයක්)

මේ නිසා මගේ සැකය යොමු වුණේ වෙබ් අඩවිය ස්ථාපනය කරලා තියෙන සර්වරය වෙත. සර්වරය වෙත අනවසරයෙන් පිවිසෙන්න සමත් වුණු තක්කඩියෙකුගෙ වැඩක් වෙන්න ඇති! << හැබැයි මේ උපකල්පනයක් පමණයි.

---

අගමුල හෙවිල්ල පොඩ්ඩකට පැත්තක තියලා අර කේත කොටස මම ආපහු පරීක්ෂා කළා. බැලු බැලුමට ආධුනිකයෙකුගේ ධෛර්යය හීන කරවන විධියෙ සංකීර්ණ පෙනුමක් ඒකට තියෙන්නේ. නමුත් ඕනම සංකීර්ණ ගැටළුවක් සරල කොටස් වලට වෙන් කරගත්තාම පහසුවෙන් විසඳන්න පුළුවන්. අන්තිමේ බැලුවම ඒකත් බොහොම සරල දෙයක් නොවැ!

මුලින්ම කියවන්න පහසු ක්‍රමයකට කේතය පේළි කීපයකට වෙන් කරගත්තා,



මේ තියෙන්නෙ අමාරුකාර පේළිය,



ඒ පේළිය දිහා පරීක්ෂාකාරීව බලන්න... javascript පිළිබඳ එතරම් ම දැනුමක් අවශ්‍ය වෙන්නෙ නැහැ. :)



Javascript වල තියෙන replace නම් method එක තමයි මෙතන පාවිච්චි කරල තියෙන්නේ. (අහඹු ලෙස) විරාම ලක්ෂණ මුසු කිරීම මගින් සූක්ෂ්ම ආකාරයට සඟවන ලද පාඨ කොටසක්, ක්‍රමලේඛය ධාවනය වෙන අවස්ථාවේදී ඒ විරාම ලක්ෂණ ඉවත් කර නැවත ප්‍රයෝජනයට ගැනීමේ අපූරුව! හැබැයි ඉතිං මේක හරියට අගුළු දමාපු අල්මාරියක යතුර ඒකෙ යතුරුකටේම තියෙන්න අරිනව වගේ වැඩක්.

ඔය කේත කොටසෙ අවසාන ප්‍රතිපලය:



බැලු බැල්මටම පේනව නෙව මේක phishing වගේ වැඩකට පාවිචිචි කරන්න හදපු එකක් කියලා.... :)

මේ සම්පූර්ණ කේතය ධාවනය වෙද්දි වෙබ් ගවේශකය මත දිස් වන වෙබ් පිටුවේ තවත් javascript object එකක් නිර්මාණය වෙනවා. ඒ javascript කේතය තියෙන්නෙ/ තිබිය යුත්තෙ ඔය රතු පාටින් දීල තියෙන URL එකේ. නමුත් වෙබ් ගවේශකයෙන් මේ URL එක වෙත ගියාම දිස් වෙන්නෙ හිස් වෙබ් පිටුවක්. දෙවැනි ප්‍රහාරයෙදි මම පිටපත් කරගත් කේතයෙන් දැක්වුණේ මේ ව්‍යූහයම දරණ වෙනත් URL එකක්. පහත දැක්වෙන්නෙ attacks කීපයකින් පසුව මම එකතු කරගත් තවත් මෙවැනි URL දෙකක්.



---

මේ වෙබ් ලිපින මම පරීක්ෂා කර බැලුවා... මේ කේත කොටස shaakunthala.com හි මගේ වෙබ් අඩවියට දාලා ඇතැම් විට අවශ්‍ය පරිදි Wireshark පවා යොදාගෙන පරීක්ෂා කරල බැලුවා. ඒත් කොයි URL එකෙන් වුණත් ලබා දෙන්නෙ අපේක්ෂිත javascript කේතය නෙවෙයි, හිස් පිටුවක්.

ඒ හැම host එකකම port 80 හා 8080 හි වෙබ් සර්වර් ක්‍රියාත්මකව තිබෙනවා.

මේ port 80 හි ක්‍රියාත්මක වෙබ් සර්වර මත තියෙන අඩවි:




තිරපිටපත් මත ක්ලික් කරලා පැහැදිලිව බලන්න පුළුවන්

---

වෙබ් අඩවි ලඝු සටහන් (site logs) වලිනුත් කිසිම දෙයක් හොයාගන්න බැරි වුණා. ඒවයෙ මේ ගැන කිසි දෙයක් සටහන් වෙලා තිබුණෙ නැහැ. මේ කිව්වෙ server logs ගැන නෙවෙයි.

මේ ගැන කරන විමර්ශනය මම අතහැර දමා නැහැ. ඊට සමගාමීව මීළඟ පියවර අපට web hosting සේවාව සපයන ආයතනය සමඟ සාකච්ඡා කර විසඳුමක් සොයන එකත් කළ යුතුයි. තාවකාලික පැලැස්තර විසඳුමක් ලෙස index.php ගොනුවෙ අගට පහත දැක්වෙන කේත කොටස එකතු කළා. 

die();

මෙහෙම 'මැරියං!' කිව්වාම එතනින් එහාට කේතය interpret වෙන්නෙ නැහැ. ඒ නිසා අර කෙහෙල්මල් javascript එක interpret වෙන්නෙවත්,  වෙබ් ගවේශකය වෙත එන්නෙවත් නැහැ. වෙලාවෙ හැටියට මේ 'මැරියං!' එක පැලැස්තර විසඳුමක් හැටියට බොහොම ප්‍රයෝජනවත් වුණා.

---

අපේ වෙබ් අඩවිය දැන් කිසිම ගැටළුවකින් තොරව ක්‍රියාත්මකයි. හැබැයි නැවත නැවතත් ප්‍රහාරයට ලක් වෙමින් පවතිනවා. die() කියන PHP මෙතඩ් එක පළිහක් වගේ අපේ වෙබ් අඩවිය අකර්මණ්‍ය වෙන්න නොදී ආරක්ෂා කරනවා. බලමුකො ඒකෙත් අපූරුව!

හැබැයි, විමර්ශණ මෙතනින් නවතින්නෙ නෑ. index.php ගොනුවෙ permissions තිබුණෙ 664 (-rw-rw-r--) ලෙස. ඒක ටිකක් විතර අසාමාන්‍යයි වගේ (සාමාන්‍යයෙන් මේක 644 හෙවත් -rw-r--r--). මේ වෙබ් අඩවිය නිර්මාණය කළ අය වෙබ් අඩවිය සකස් කරන්න සහ host එකට upload කරන්න පාවිච්චි කරල තිබුණෙ වින්ඩෝස් මෙහෙයුම් පද්ධතිය හා ඒ පාදක කරගත් මෘදුකාංග. මේක වින්ඩෝස් වල තියෙන 'අල' permission system එක නිසා මෙතන එය 664 වුණා කියලයි මම හිතන්නේ.

මගේ ඊළඟ ඇටවුම වුණේ මේ permissions 600 (-rw-------) ආකාරයට සැකසීම. සරලව කිව්වොත්, දැන් index.php කියවන්න සහ සංස්කරණය කරන්න පුළුවන් සර්වරය පැත්තෙන් ඒ ගොනුවෙ අයිතිකරු ලෙස ඉන්න userට පමණයි. අනෙක් අයට කිසිම දෙයක් කරන්න බැහැ. කලින් තිබුණු ක්‍රමය අනුව අදාළ පරිශීලකටත්, කණ්ඩායමටත් මේ අවසර ලැබී තිබුණා. මේ නව permission සැකසීම මගින් මම සොයාගන්න අදහස් කළේ කලින් කිව්ව bot හෝ ස්වයංක්‍රීය උපක්‍රමය ධාවනය වෙන්නෙ අදාළ පරිශිලක යටතේම ද කියන එක.

මේ ආගන්තුක කේත කොටස javascript වීම නිසා ඇති වුණු සැකයක් ඔස්සේ  (මේ දැන් මොහොතකට පෙර) කළ සෙවීමකදී jQuery සහය සඳහා පාවිච්චි කරන jquery.js ගොනුවත් මෙලෙසම ආසාදනය වී ඇති බව දැනගන්න ලැබුණා. නමුත් එය Javascript ගොනුවක් නිසා කලින් වගේ ප්‍රතිපල බාහිරයට පෙනුනේ නැහැ. තවදුරටත් සොයා බැලීමේදී මුළු වෙබ් අඩවියෙම විවිධ තැන් වල තියෙන index.php ගොනු වලටත් javascript ගොනු වලටත් මෙය ආසාදනය වී ඇති බව සොයාගන්න හැකි වුණා. මට හීන්දාඩිය දාන්න ගත්තේ දැන්. තවදුරටත් සොයා බැලීමේදී මේ ගොනු බොහොමයක permissions තිබුණේ 644 (-rw-r--r--) ආකාරයෙන් බවත් නිරීක්ෂණය වුණා. මේ (permissions) නිරීක්ෂණයත් එක්කම මම කලින් ඡේදයෙ විස්තර කළ ඇටවුමේ ප්‍රතිපල ලැබෙන තෙක් බලා සිටීම අනවශ්‍ය කාරණයක් බවට පත් වෙනවා.

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

---

අද සටහන අනවශ්‍ය පරිදි දීර්ඝයි කියා මට හිතෙන්නේ.... සුළුවෙන් හරි අපැහැදිලි තැනක් තියෙනවනම් comment එකක් දාන්න.... මම තවත් සරල කරලා විස්තර කරන්නම්.

ඒ වගේම මේ ක්ෂේත්‍රයේ අත්දැකීම් තියෙන අයගෙ උපදේශත් මේ ලිපියට ප්‍රතිචාර හෝ ඊමේල් ආකාරයෙන් බලාපොරොත්තු වෙනවා. (cyber forensics කියන්නෙ මේවද මන්දා.... :-/ )

විමර්ශණ කෙසේ වෙතත් නත්තලත් ළඟටම ඇවිත්.... ඉතින්... මගේ බ්ලොග් අඩවියට යන එන හැම දෙනාටම හැකර් ප්‍රහාර වලින් තොර සාමකාමී සුභ නත්තලක් වේවා කියල ඔන්න මගෙනුත් නත්තල් සුභපැතුම්! :-)





පසු සටහන (2009/12/25):
මේ සටහනේ අන්තර්ගතය ලෙස malicious source code කොටස් සඳහන් කිරීම නිසා විවිධ වයිරස් නාශක මගින් මගේ බ්ලොග් අඩවිය අවහිර කර ඇති බව දැනගන්න ලැබුණා. ඒවා කේත ලෙස නොව පාඨ ලෙස render වන නිසා හානි රහිතයි. මෙය වයිරස් නාශක මෘදුකාංග වල සිදුවූ වරදක් (False Positive).


Image credit: Ravin Perera

මෙය වළක්වන්න අදාළ source code සියල්ල පිළිබිඹු (images) ලෙස යොදන්න සිදු වුණා. නමුත් ඒ ඒ තැන් වලට අදාළ කේත කොටස් අවශ්‍ය නම් පහත දැක්වෙන සබැඳියෙන් බාගත කරගත හැකියි.

  http://www.4shared.com/file/180832826/c4c709df/altcodetxt.html
Password: malcode

(ඔබ වින්ඩෝස් මෙහෙයුම් පද්ධතිය පාවිච්චි කරනවා නම් මේ ගොනුව විවෘත කරන්න wordpad මෘදුකාංගය යොදාගන්න -- notepad පාවිච්චි කරන්න එපා)

යොමු:
http://forum.avast.com/index.php?topic=52588
http://groups.google.com/group/techkatha/browse_thread/thread/ab92437e0054fcec

මේ වින්නැහිය ගැන මට දැන්වූ සියළුම දෙනාට මගේ හෘදයාංගම ස්තුතිය පිරිනමනවා! :)

Merry X'mas to you all again!!

Tuesday, December 22, 2009

සිංහල බ්ලොග්කරුවන්ගේ සුහද හමුව


2009 දෙසැම්බර් 19, තවත් එක අපූරු දවසක්. මීට ටික කලකට පෙර සිංහල බ්ලොග්කරුවන්ගේ සංසදයෙ ගුග්ල් සමූහයේදී ඇති වුණු යෝජනාවක ප්‍රතිපලයක් විධියට සිංහල බ්ලොග්කරුවන්ගේ සංසදයෙ සුහද හමුවක් (ඇත්තෙන්ම පළවෙනි සුහද හමුව) 19 වෙනි දා කොළඹ Excel World හි පැවැත්වුණා. මේක තවත් ඔන්ලයින් මීටිමක් නෙවෙයි.... හැබැහින් හමු වීමක්. සියළුම සිංහල බ්ලොග්කරුවන්ගේ සහභාගීත්වය ඇතිව නොවුණත්, අන්තර්ජාලය හරහා අදහස් ඇසුරෙන් පමණක් දැන සිටි බොහෝ පිරිසක් දැක හඳුනාගෙන කතාබහ කරන්න අවස්ථාව ලැබුණා. බ්ලොග් ලියන අය විතරක් නෙවෙයි, බ්ලොග් කියවන අපේ පාඨකයින් කීපදෙනෙකුත් මේ සුහද හමුවට සහභාගි වුණා. දවල් 11 සිට හවස 1 දක්වා සිංහල බ්ලොග්කරණය ආශ්‍රිත සාකච්ඡාවක යෙදෙන්න අපට හැකි වුණා. (හැබැයි මං ආවෙ පරක්කු වෙලා :D ) අපේ කතාබහත් 1.20 විතර වෙනකම් ඇදිලා ගියා. ඊට පස්සේ ඉතිං සප්පායම් වෙලා පොඩි ආතල් එකක් ගන්නත් අමතක කළේ නෑ.

පිංතූර තුනක් විතර මෙතන දාන්නම්. Facebook එකේ ඉන්නවනම් ඉතිරි ටිකත් බලන්න පුළුවන් වේවි. ඒ විතරක් ම නෙවෙයි.... ඒවට ආපු මරු comments එක්කම බලන්න පුළුවන්. :D


වසරේ ඇට්ටර බ්ලොග්කරු -- සුපුන් සුදාරක සමඟ
(සුදාරකයා හිටියා පැත්තක -- "මෙහෙ වර" කියලා ඇදලා ගත්තා... මම ම ගත්තා පොටෝ එක! :D )



සමූහ ඡායාරූපය - ඡායාරූපය ගත්ත කෙනා හැර අපි ඔක්කොම මෙතන
ඒකෙත් හැටි!
(ඒ අස්සේ මට ඩැනීගෙන් හදිසි ප්‍රහාරයක්! :D )


සභාව හමුවේ බොහෝම හරවත් කථාවක් කළ කුෂාන් සසංක

ඉතින් එදා දවස බොහොම සුන්දර විධියට ගෙවිලා ගියා. අඩුපාඩුවකට තිබුණේ සංගීත භාණ්ඩ ටිකක්. කොහොම වුණත් අපේ කස්ටියට පරක්කු වෙන නිසා වැඩේ හවස තුනට අවසාන කරන්න සිද්ධ වුණා.

මේ කෙටි සටහන ලිව්වේ ඒ සුහද හමුව වෙනුවෙන්. මම බොහොම ආසාවෙන් කියවන බ්ලොග් අඩවි කීපයකම රචකයින් හැබෑවටම හමු වෙලා කතා බහ කරන්න අවස්ථාව ලැබුණා. ගුග්ල් සමූහයෙ කස්ටිය කතා වුණු හැටියට මම නම් හිතුවෙ එක්සෙල් වර්ල්ඩ් ඉඩ මදි වේවි කියල! ඒත් සහභාගීත්වය නම් මදි. සමහරවිට ඒ අයගෙ කාල සටහන් මේ හමුවට හරස් වෙන්න ඇති. කොහොම වුණත්..... එදා නම් අපූරු දවසක්! :-)

මේ ගැන ප්‍රවීන් ඉන්ද්‍රනාම ලියූ සවිස්තර ලිපියක් මෙතැනින් කියවන්න පුළුවන්.

Monday, December 14, 2009

මෝරුන් ලවා සිංදු බෑම


අද කියන්න යන්නේ තාක්ෂණය හා සංගීතය සම්බන්ධ කාරණයක්. මගේ දෛනික අත්දැකීම් අතරට එකතු වෙන තවත් එක අත්දැකීමක්. බළලුන් ලවා කොස් ඇට බෑවීම ට ආදේශකයක් හොයන අය මේ ලිපිය කියවන්නෙ නැතුව මගේ Flickr සේයා දහර පැත්තේ ගිහින් බලන්න. :D

තාක්ෂණික දේවල් කියවන්න අකමැති නම් සටහනේ අන්තිමේ ඇති දෙසවනට හා දෙනුවනට රසවිඳින්න යමක්. තාක්ෂණික මාතෘකා අප්පිරියා වගේ නම් මඟැහරල ඔහොමම යන්න පහළට.

පොප්, රෙගේ සහ හිපොප් අහන්න ටියුන් වෙලා තිබුණු මගේ කන් දෙක රොක් සංගීතයට ටියුන් වෙන්න පටන් ගත්තේ එක්තරා තහනම් වෙළඳ දැන්වීමක තිබුණු සිංහල රොක් සිංදුවක් අහලා. ඉනික්බිති ගල්, තද ගල්, තලන ලෝහ, බර ලෝහ, මර ලෝහ සහ කළු ලෝහ මේ හැම ජාතියටම බරපතල ලෙස ඇබ්බැහි වුණා. තේරුණේ නැත්තම් ඔය ලැයිස්තුව rock, hard rock, thrash metal, heavy metal, death metal සහ black metal කියල හිතාගන්ටකෝ.

චිත්‍රාල් සෝමපාලගෙ නදී ගංගා තරණයේ තවමත් මම බොහොම ආස කරන සිංදුවක්. දවසක් අහම්බෙන් Facebook හරහා මාව යොමු වුණේ මෙන්න මේ පිටුවට. ඒකෙ තිබුණා මම ප්‍රිය කරන ගීතයෙ සාමාන්‍යයෙන් අහල පුරුදු එකට වඩා වෙනස් අනුවාදයක්. රොක් ම තමා.... හැබැයි පොඩ්ඩක් විතර වෙනස්. ගායකයා එම ම තමා, කටහඬ පාලනය මුල් අනුවාදයෙ තරම්ම හොඳ තත්වයක නැහැ. හැබැයි පසුබිම් සංගීතයට පොඩි වර්ණවත් බවක් එකතු වෙලා.... මුල් ගීතයෙ තිබුණු තේජාන්විත බවත් ටිකක් අඩු වෙලා.



එකම ගීතයෙ වුණත් විවිධ අනුවාද රසවිඳින්න මම ගොඩක් ප්‍රියයි. විවිධත්වය කොතැනද - රසය එතැන! ඉතින් වෙබ් පිටුවෙ embed කරලා තිබුණු මගේ ප්‍රියතම ගීයත්, අනෙක් රොක් සිංදු ටිකත් බාගන්න මම උත්සාහ කළා. නමුත් සාමාන්‍යයෙන් මේ වගේ වැඩ වලට මම පාවිච්චි කරන Video Download Helper ඇඩෝනය මේ ගීත වල බාගැනීමේ සබැඳි (download links) හොයාගන්න අපොහොසත් වුණා. ඒ නිසා මම ඒ හා සමාන තවත් ඇඩෝනයක් පාවිච්චි කරලා නැවත උත්සාහ කළා. අසාර්ථකයි! :(

ගිනිහිවල් ආම්පන්න කෙරුවාව එකින් එක හොය හොයා ගියොත් මට වෙනින් වැඩක් කරගන්න කාලයක් ඉතිරි නොවෙන නිසා මම වෙනත් විසඳුමක් හොයන්න උත්සුක වුණා. මුලින් ම බැලුවෙ Firefox සහ Adobe Flash Player මෘදුකාංග වල cache ඩිරෙක්ටරි ඇතුළෙ. නමුත් මගේ බලාපොරොත්තු සුන් කරමින් ඒවයෙනුත් කිසිම දෙයක් හොයාගන්න බැරි වුණා. :(

ඉතින් අවසාන තීරණය වුණේ පරිගණකයට පිටතින් (ජාලය හරහා) එන සියළුම අමු දත්ත (raw data) මෘදුකාංගයක් මගින් ග්‍රහණය කරගෙන ඒ ග්‍රහණය කරගත් බිටු සහ බයිට අතරේ මට අවශ්‍ය දේ තියෙනව ද කියල සොයා බලන එක! :-O එහෙම බර වචන වලින් කිව්වාම බය වෙන්න එපා :) -- මේ කාරිය ඉතාම පහසුවෙන් කරගන්න පුළුවන් Wireshark කියන මෘදුකාංගයෙන්. මේ ලියමනේ මාතෘකාවෙ සඳහන් මෝරා මොකාද කියල දැන් වැටහෙන්න ඕනේ. :) Wireshark මෘදුකාංගය network protocol analyzer එකක්. පරිගණකයත් ජාලයත් අතර දත්ත හුවමාරුව සිද්ධ වෙන්නේ දත්ත 'පැකට්' කියන කුඩා ඒකක (chunks) ආකාරයෙන්. Wireshark මෘදුකාංගයට පුළුවන් මේ දත්ත පැකට් දෙස විමසිල්ලෙන් බලා සිට ඒ පැකට් පිළිවෙලකට පිටපත් කරගන්න. මේ පැකට් පසුව විශ්ලේෂණය කිරීමේ පහසුකමත් Wireshark විසින්ම ලබා දෙනවා.

කොළඹ සරසවියෙ මෙතෙක් මම පෙනී හිටපු විභාග වලින් එකම A+ සමාර්ථය ලබපු පරිගණක ජාලකරණය පිළිබඳ ප්‍රශ්නපත්‍රයෙත් Wireshark මෘදුකාංගයෙන් ග්‍රහණය කරගත් දත්ත පැකැට්ටුවක් විශ්ලේෂණය කරන්න ගැටළුවක් තිබුණා ලාවට වගේ මතකයි. ඉතින් මේවත් අපට වැඩද කියලා හිතින් හිතාගෙන වැල්මෝරා සූදානම් කරගෙන වැඩේට බැස්සා.

මුලින්ම වෙබ් ගවේශකයෙ මට අවශ්‍ය ටැබ් එක (ගීතය අඩංගු වෙබ් පිටුව) හැර ඉතිරි සියළුම ටැබ් වහලා දැම්මා. Twitter සඳහා පාවිච්චි කරන Echofon ඇඩෝනය අක්‍රිය කළා. මේ දේවල් කළේ අනවශ්‍ය දත්ත පැකට් Wireshark මගින් ග්‍රහණය (capture) වීම වළක්වන්න. ඉන්පස්සේ ගීතය අඩංගු වෙබ් පිටුව ප්‍රතිපූරණය (reload) කරලා ඒ ප්‍රතිපූරණය සිද්ධ වෙන අතරෙම පැකට් ග්‍රහණය කරන වැඩේ පටන් ගත්තා. ගීතය මුළුමනින්ම වාදනය අවසාන වුණාම වෙබ් ගවේශකය වසා දමලා දත්ත පැකට් ග්‍රහණය කරන වැඩෙත් නතර කරලා දැම්මා. ග්‍රහණය කරගත් අමු දත්ත විශ්ලේෂණය කිරීමේ පහසුව තකා වෙනම ගොනුවකට save කරගත්තා.

දැන් විශ්ලේෂණය කරන වැඩේ. අමු දත්ත පැකට් හරීම ලස්සනයි :P . කොළ පාටට - කළු පාටට - ලා නිල් පාටට - වෛවාරන්න පැකට්! ඒ මදිවට TCP, UDP, HTTP, SSL, DNS මෙකී නොකී හැම ජාතියෙම පැකට්!! ඉතින් දත්ත පැකට් දහස් ගණනක් අතරේ අතරමං නොවී මට අවශ්‍ය දේ පහසුවෙන් හොයාගන්න පොඩි 'පෙරහනක්' පාවිච්චි කළා. වෙබ් ගවේශකය ක්‍රියාත්මක වෙන්නේ HTTP කියන ජාලකරණ සම්මුතියට අනුව. HTTP වල එක ලක්ෂණයක් තමයි HTTP සර්වරයක් වෙතින් යම් අන්තර්ගතයක් (content) සඳහා ඉල්ලීමක් කළාම අදාළ අන්තර්ගතය, එහි තත්වය පිළිබඳව HTTP තත්ත්ව කේතයක් සමඟ පෙරළා දැනුම් දීම. සාමාන්‍යයෙන් දෝෂ කේතයක් නොවේ නම් මෙය අන්තර්ජාල ගවේශණයේදී පරිශීලකයා වෙත දිස් වන්නේ නැහැ. වෙබ් ගවේශකයෙන් ඉල්ලුම් කරන අන්තර්ගතය කිසිම බාධාවකින් තොරව ඒ වෙත ලබා දෙන්න වෙබ් සර්වරය සමත් වුණා නම් මේ තත්ත්ව කේතය වෙන්නේ 200. ඒක සම්මුතියේ තියෙන සම්මතයක්. ඒ නිසා මේ නිර්ණායකය පාවිච්චි කළා මම ඉහත කියපු පෙරහන හදාගන්න. මිළඟ තිරපිටපත බැලුවාම පෙරහන ගැන පැහැදිලි වෙයි. මේ දේවල් පැහැදිලි කරන්න ටිකක් වැඩිපුර වචන පාවිච්චි කළාට අකුණක් ගහනවා වගේ ඔය සියළුම අදහස් මගේ මනසේ ගොඩනැගෙන්න ගත වුණේ එක නිමේෂයයි.


 පැහැදිලි මදි නම් තිරපිටපත මත ක්ලික් කරන්න

ඔය තිරපිටපතෙත් සලකුණු කරල තියෙන එක දත්ත පැකැට්ටුවක් ගැන මගේ අවධානය විශේෂිතව යොමු වුණා. බැලු බැල්මට ඒක නම් MP3 ගොනුවක ආරම්භක දත්ත පැකැට්ටුව වගේ පෙනෙන්නේ. නමුත් වැඩිදුර සොයාබැලීම සඳහා ඒක මත ක්ලික් කළාම Wireshark වැසී යනවා. ඒක Wireshark මෘදුකාංගයෙ සුළු දෝෂයක් නිසා ඇති වුණු දෙයක් විය හැකියි. නමුත් අදාළ පැකැට්ටුව විවෘත කරගන්න බැරි නිසා මගේ අවසාන උත්සාහය වුණේ HTTP මගින් ලැබුණු සියළුම දත්ත, ගොනු බවට export කරගන්න එක. File -> Export -> Objects -> HTTP මෙනු විධානය දුන්නාම තවත් පොඩි අතුරුමුහුණතක් හරහා මේ සියල්ල ගොනු ආකාරයෙන් ලබාගන්න පුළුවන් වුණා. ඒ අතර තිබුණා -- මොනවද? මට ඕන කරපු දේ! :) මෙහෙයුම සාර්ථකයි!!

බලන්න මීළඟ තිරපිටපත.


පැහැදිලි මදි නම් තිරපිටපත මත ක්ලික් කරන්න

ඔය අස්සේ Facebook වෙළඳ දැන්වීමක ෆෝන් විකුණන කෙල්ලෙකුත් ඔතනට ඇවිත්... ඒව ගනංගන්න එපා.. :P .

 ---

Wireshark හරිම අපූරු මෘදුකාංගයක්. දවසක් මම බැචෙකුට SSL කුප්පියක් දාන්න ආරම්භයක් විධියට Wireshark වලින් පොඩි වැඩකෑල්ලක් දාල පෙන්නුවා. මුලින් පෙන්නුවේ මගේ අතහැර දමාපු SLT Dial-up ගිණුමට ලොග් වෙලා ඒ අතරේ Wireshark එකෙන් ග්‍රහණය කළ දත්ත අතරේ ගෙඩි පිටින් username/ password තියෙන හැටි. ඊළඟට මගේ Gmail එකට ලොග් වෙලා username/ password හොයන වැඩේ ඌටම කරගන්න දුන්නා. :D

(SLT අය SSL පාවිච්චි කරන්නෙ නැත -- සහතිකේ ගිණි ගණං නිසා වෙන්නට ඇත)

---



ඔය තිරපිටපතේ තියෙන විධියේ පිවිසුම් ක්‍රමය සමහර වෙබ් අඩවි වල පාවිච්චි වෙනව දැකල ඇතිනේ.... මේක තරමක් දුරට අනාරක්ෂිතයි. හිතන්න තමන් දැනට ඉන්න local area network එක ඇතුළෙ තවත් කෙනෙක් ඔය විධියෙ අඩවියකට තමන්ගෙ පරිශීලක නමයි මුරපදයයි දීලා ලොග් වෙනව කියලා. ඒ කෙනා ලොග් වෙන වෙලාවේ දත්ත පැකට් ටික Wireshark මගින් ග්‍රහණය කරගන්න පුළුවන් නම් සොරි ඩොට් කොම්! අපට නෙමෙයි එයාට.

මෙතනදි username/ password යන්නෙ encrypt කරල නෙමෙයි. හැබැයි බැලු බැල්මට ඒ වගෙයි. පොඩි සෙල්ලමක් දාලා ආයෙම username/ password අදාළ දත්ත වලින් පහසුවෙන්ම ගණනය කරගන්න පුළුවන්. (base64 encoding ගැන පොඩි ගුග්ල් සෙවුමක් දාලා බලන්ටකෝ.... ;) )

මේව වැරදි වැඩ තමයි.... හැබැයි hacking කියල වරදවා වටහාගන්න එහෙම එපා..... :P



සිංදුවත් අහමුකෝ.... හැබැයි මේ මම බාගත් එක නෙමෙයි. ඔරිජිනල් නදී ගංගා තරණයේ. වෙනස් සන්දර්භයක් ඇතුව රස විඳිමුද? ඒකට ඕන කරන උත්ප්‍රේරකය තමයි ඔය Youtube ලින්ක් එකට පහළින් සඳහන් කරල තියෙන්නේ.....


Youtube එකේ තියෙන දර්ශන පෙළ නරඹන අදහස අතහැර දමන්න. බය වුණාම බොන ජාතිය අමතක කරන්න. Youtube එකේ ගීතය වාදනය වෙන අතරේ තවත් ටැබ් දෙකක මෙන්න මේ වෙබ් පිටු විවෘත කරගන්න. පිංතූර එකින් එක බලන අතරේ ගීතයට හොඳින් සවන්දෙන්න.


(අනුන්ගෙ සිංදු අනවසරයෙන් කොපි කරලා ඩවුන්ලෝඩ් කරන්න දෙන එක නෝටි වැඩක් නේ..... අනෙක..... තව ටික දවසකින් ඕකෙ ඩවුන්ලෝඩ් දෙයි. ඒ නිසා මම ශිල්ප දක්වලා බාගනිපු එක මගෙ ළඟම තිබුණාවේ -- ඕනෙ නම් මම කරපු විධියටම කරලා සිංදුව බාගන්න. ;-) )



එහෙනං ඉතිං.... නැවතීමේ තිත තියන්න හෙවත් කැපෙන්න වෙලාව ඇවිත්. මේ සිංදු බෑවිල්ල මහා ලොකු දෙයක් නෙවෙයි. නමුත් සිංහලෙන් වැඩ කරන පාඨක පිරිස අතරේ බෙදා හදාගන්න හිතුණා. තවත් මොනවහරි දෙයක් අරගෙන ආපහු එනකම්.... Rock on! :D

Friday, December 11, 2009

හොඳම බ්ලොග් අඩවිය ලෙස සම්මානයට පාත්‍ර වූ වගයි෴


කොළඹ රාජකීය විද්‍යාලයීය සිංහල භාෂා හා සාහිත්‍ය ඒකකය විසින් සංවිධානය කරන ලද "අසෙනිය කුසුම" සාහිත්‍ය උත්සවයේ එක් ඉසව්වක් වූ, ප්‍රථම වරට පවත්වන ලද සිංහල බ්ලොග්කරණ තරඟාවලියේදී ශාකුන්තලගේ සටහන් පොත හොඳම බ්ලොග් අඩවිය ලෙස සම්මානයට පාත්‍ර වූ බව හිතවත් පාඨක ඔබ වෙත දැනුම් දෙන්නේ හද පිරි නිහතමානී සොම්නසිනි. අසෙනිය කුසුම සාහිත්‍ය කලා උළෙල කොළඹ රාජකීය විද්‍යාලයේ නව රඟහලේ දී පසු ගිය නොවැම්බර් 27 වන සිකුරාදා උත්සවාකාරයෙන් පැවැත්විණ.

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

අසෙනිය කුසුම - 2009 පැවැත්වුණේ ජනාධිපති කාර්යාලයය, ICTA හා e-Sri Lankaහි පූර්ණ අනුග්‍රහයත්, Microsoft ආයතනයේ සම අනුග්‍රහයත් සහිතවයි. සිංහල බ්ලොග්කරණ තරඟාවලියේ ජයග්‍රාහකයින් පිළිබඳ සම්පූර්ණ විස්තරය සාහිත්‍ය ඒකකයේ නිළ වෙබ් අඩවිය වෙත පිවිසීමෙන් කියැවිය හැකි ය.

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

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

මෙය හොඳම බ්ලොග් අඩවිය සඳහා හිමි සම්මානය මිස හොඳම බ්ලොග්කරු සඳහා හිමි සම්මානය නොවේ (මගේ සමහර සරසවි සගයින් දැනටමත් මා හඳුන්වා ඇත්තේ "බෙස්ට් බ්ලොගර්" කියාය!). මා මෙම සම්මානයේ භාරකරු පමණි. බ්ලොග් අඩවියක සාර්ථකත්වය කෙරෙහි එහි රචකයින් පමණක් නොව, ක්‍රියාකාරී කියවන්නන්, ප්‍රතිචාර දක්වන්නන්, දිරි ගන්වන්නන්, විවේචකයන්, පසුබිමේ සිට සහයෝගය දක්වන්නන් පමණක් නොව විවිධ බාධක එල්ල කරන්නන් යන මේ සියළු පාර්ශව දායක වේ යන්න මගේ විශ්වාසය යි.

එසේ හෙයින්, මෙය "මම" ලද දිනුමක් ලෙස නොව "අපි" ලද දිනුමක් ලෙස හැඳින්වීමට කැමැත්තෙමි. මෙම සටහන ලියන මට මෙන් ම, පාඨක ඔබට ද අළුතින් හිතන්නටත් ලේඛන කලාව ජයගන්නටත් මෙම සම්මානය හා සමස්ත සිංහල බ්ලොග්කරණ තරඟාවලිය හොඳ උත්ප්‍රේරකයක් වනු ඇතැයි මම උදක් ම බලාපොරොත්තු වෙමි.

මගේ ලිවීම් කියවමින්, රස විඳිමින්, අගය කරමින්, විචේචනය කරමින් හා දිරි දෙමින් සහය දැක්වූ පාඨක ඔබ වෙතත්, සිංහල බ්ලොග්කරණ තරඟාවලියට සහභාගි වී ඒ වෙත සහය දැක්වූ සියළුම බ්ලොග්කරුවන් වෙතත්, නිහඬවම සහය දැක්වූ අනෙකුත් පාර්ශව වෙතත්, බ්ලොග්කරණය ප්‍රචලිත කිරීමේ යහ අරමුණින් යුතුව මෙවන් ඉසව්වක් පැවැත්වීම වෙනුවෙන් කොළඹ රාජකීය විද්‍යාලයය වෙතත් මගේ හෘදයාංගම ස්තුතිය පුද කරමින් මේ ලියමනෙහි අවසානය සනිටුහන් කරමි෴ 



පසු සටහන (2009/12/27):

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

පහත දැක්වෙන්නේ හොඳම බ්ලොග් අඩවියට හිමි සම්මානය පිරිනැමෙන මොහොතයි.