Data Interchange Format

Kita bisa menggunakan apa saja untuk pertukaran data, tapi sudah ada beberapa format yang dikenal umum.

XML

XML merupakan format data yang sangat umum dipakai. Di kasus tertentu kita bisa melakukan XML Injection.

https://www.owasp.org/index.php/Testing_for_XML_Injection_(OTG-INPVAL-008)

XXE (XML External entity) attack

Jika XML diproses dengan parser tertentu (dengan opsi tertentu), ada kemungkinan bisa diserang dengan XXE. Ini salah satu serangan paling umum untuk XML.

https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing

JSON

Format data ini banyak dipakai terutama yang berhubungan dengan web. Beberapa masalah yang mungkin:

  • Duplicate value, invalid data type
  • JSON di-eval dengan Javascript

Protobuf

Protokol ini banyak digunakan oleh Google (baik internal maupun di berbagai library/aplikasi buatan Google yang dirilis publik).

Sebagai catatan: Pokemon Go juga memakai protobuf.

Contoh Soal

Orient Heights

ASN1 encoding

http://blog.rentjong.net/2015/03/boston-key-party-2015-orient-heights.html

Wood Island

JSON encoding

http://blog.rentjong.net/2015/03/boston-key-party-2015-wood-island.html

Opabina Regalis

Soal Google CTF yang memakai protobuf

http://b0tchsec.com/2016/googlectf/opabina-regalis-token-fetch

Copyright © 2009-2018 Yohanes Nugroho