_ _
(_) | |
___ _ __ ___ ___ __ _ __ _ ___ _ __ _ __| |
/ _ \| '_ ` _ \ / _ \/ _` |/ _` | / _ \| '__| |/ _` |
| (_) | | | | | | __/ (_| | (_| || (_) | | _| | (_| |
\___/|_| |_| |_|\___|\__, |\__,_(_)___/|_|(_)_|\__,_|
__/ |
|___/
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
+-------------+
|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