_ _ (_) | | ___ _ __ ___ ___ __ _ __ _ ___ _ __ _ __| | / _ \| '_ ` _ \ / _ \/ _` |/ _` | / _ \| '__| |/ _` | | (_) | | | | | | __/ (_| | (_| || (_) | | _| | (_| | \___/|_| |_| |_|\___|\__, |\__,_(_)___/|_|(_)_|\__,_| __/ | |___/ OMEGA|ZINE RELEASE 04 Author: d4y4x || d4y4x74@gmail.com Online @ www.omega.or.id :: http://ezine.omega.or.id == [Proof Of Concept] How to ByPass Session With Jsoup == Kata Pengantar -------------- Alhamdulillah, Puji serta syukur kehadirat Allah SWT yang telah melimpahkan segala karunia & hidayahNya,sehingga penulis masih diberikan kesempatan untuk melakukan aktifitas. Shalawat serta salam untuk junjungan Nabi Besar Muhammad SAW, yang telah membawa kita dari zaman kegelapan menuju zaman kemenangan. Tujuan ------ Grabbing HTML / Ajax Page Masalah ------- Session Protection Tools ----- JDK 1.5 higher -> http://www.oracle.com IDE Java (Netbeans / Eclipse) -> optional JSoup -> http://www.jsoup.org Firefox Browser -> http://www.firefox.org Addons Firebug -> http://www.getfirebug.com Pembahasan ---------- Kita menggunakan aplikasi web menggunakan PHP sebagai simulasi. Berikut ini kode programnya, yang saya ambil dari sebuah sumber(phpmysimplelogin-0.3-frozenade.co.nr). +------------+ |database.sql| +------------+ -- -- Database: `phpmysimplelogin` -- -- -------------------------------------------------------- -- -- Table structure for table `user` -- CREATE TABLE IF NOT EXISTS `user` ( `username` varchar(25) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -- Dumping data for table `user` -- INSERT INTO `user` (`username`, `password`) VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3'); +----------+ |config.inc| +----------+ +---------+ |index.php| +---------+ PHPMySimpleLogin 0.3

User Login

Username:
Password:
  
+-------------+ |loginproc.php| +-------------+ +---------------+ |securedpage.php| +---------------+ Secured Page

This is secured page with session:
You can put your restricted information here.

Logout

+----------+ |logout.php| +----------+ Setelah tools dan medianya sudah siap, saatnya kita eksekusi. Semisal, aplikasi web yang sudah kita buat berada di halaman -> http://localhost/phpmysimplelogin Di POC kali ini kita ingin membaca halaman securedpage.php yang berada di alamat -> http://localhost/phpmysimplelogin/securedpage.php tapi ternyata selalu ada pengecekan session, sehingga kita otomatis langsung di alihkan ke alamat -> http://localhost/phpmysimplelogin/index.php Solusi ------ Buka halaman http://localhost/phpmysimplelogin/index.php kemudian masukan username: admin dan passwod: admin. Setelah masuk ke halaman http://localhost/phpmysimplelogin/securedpage.php buka firebug kemudian lihat di securedpage.php maka akan terdapat ini Cookie:PHPSESSID=ib2d12ok8o7hc24inhvhdr1830 kemudian kita lihat di loginproc.php maka akan terlihat parameter apa saja yg dikirim, dan untuk kasus ini hanya username dan password. Kesimpulan ---------- 1.loginproc.php digunakan untuk melakukan validasi 2.kita butuh Session ID agar bisa membaca halaman securedpage.php Setelah melewati serangkaian penelitian dan ujicoba, sekarang saatnya kita ke tahap finishing +---------------+ |JSoup in action| +---------------+ import java.io.File; import org.jsoup.Connection; import org.jsoup.Connection.Method; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class LoginByPass { public static void main(String[] args) { try { Connection.Response res = Jsoup.connect("http://localhost/phpmysimplelogin/loginproc.php").data("username", "admin", "password", "admin").method(Method.POST).execute(); Document doc = res.parse(); String sessionId = res.cookie("PHPSESSID"); // you will need to check what the right cookie name is System.out.println("Cookie : " + sessionId); Document doc2 = Jsoup.connect("http://localhost/phpmysimplelogin/securedpage.php").cookie("PHPSESSID", sessionId).get(); System.out.println(doc2.html()); } catch (Exception e) { e.printStackTrace(); System.err.println(e.toString()); } } } DONE! Penulis ingin mengucapkan terima kasih kepada - Khairunnisa Amalia, yang Insya Allah sebentar lagi kita akan hidup bersama dalam ikatan cinta yang suci dan halal,amin. - Omicron yang bersedia memuat artikel ini di ezine omega - Xdhix, Phebe, 54v0y yang masih tetap militan membesarkan komunitas CP 27 dari awal berdiri hingga menjelang 3 tahun. - http://cp27.web.id, http://omega.or.id, http://devilzc0de.org/, dan semua komunitas yang pernah kusinggahi. I miss U all….. "Tujuan Kami Hanyalah Pengetahuan, Karena Pengetahuan Adalah Kekuatan" CP 27 Manifesto kritik & saran kirimkan ke d4y4x74@gmail.com