Hai gaes kembali lagi dengan gw Yukinoshita 47 kali ini gw ingin membuat tutorial sederhana gimana Cara Mudah Membuat Laporan Pentest btw ini laporan versi gw sendiri jika ada versi yang lebih baik dari gw mending lu ikuti aja versi yang lebih baik itu karena jujur aja gw sejauh ini belum ada yang ngajarin gw gimana cara membuat laporan pentest itu sehingga gw sendiri yang belajar secara otodidak sendirian.
Sebelum nya gw ingatkan melaporkan bug itu tidak boleh di expose seperti ini karena melanggar standar ethical hacking dan cyber security awareness tolong ingatin kepada yang lainnya jg.
Sebelum nya gw ingatkan melaporkan bug itu tidak boleh di expose seperti ini karena melanggar standar ethical hacking dan cyber security awareness tolong ingatin kepada yang lainnya jg.
Dalam pelaporan pentest versi gw laporan itu dibuat dalam bentuk dokumen PDF dilampiri bukti pendukung seperti log, output tools, dan lain-lainnya
susunan dokumen tersebut adalah
- Cover Judul (Logo jika ada)
- Kata Pengantar
- Daftar Isi
- Latar Belakang (copas jg boleh asalkan lu bisa jelasin jika disuruh presentasi)
- Profil Target Pentest (bisa copas dari google jika target ada info dan profil nya)
- Information Gathering dan Security Audit Dasar
- Laporan Temuan Bug
- Dampak Dan Resiko Bug (boleh copas jg asalkan lu bisa jelasin jika disuruh presentasi)
- Solusi (jika ada)
- Penutup
Lampiran Bukti Pendukung (log pentest, dan lainnya)
laporan tersebut dikirim secara rahasia kepada admin via email atau private message karena untuk menjaga kerahasiaan informasi bug dan keamanan bersama.
sekali lagi gw tegaskan yang gw jelasin dan contohin dibawah ini adalah versi gw ingat ya kalo pun beda dengan yang lain maklumi aja.
ok kita mulai
----------------------------------------------------------------------
LAPORAN PENTEST & VULNERABILITY DISCLOSURE
PT. ABAL ABAL
DISUSUN OLEH
YUKINOSHITA 47
----------------------------------------------------------------------
KATA PENGANTAR
Assalamu’alaikum warahmatullahi wabarakatuh
Segala puji bagi Allah SWT yang telah
memberikan kami kemudahan sehingga kami dapat menyelesaikan makalah ini
dengan tepat waktu. Tanpa pertolongan-Nya tentunya kami tidak akan
sanggup untuk menyelesaikan makalah ini dengan baik. Shalawat serta
salam semoga terlimpah curahkan kepada baginda tercinta kita yaitu Nabi
Muhammad SAW yang kita nanti-natikan syafa’atnya di akhirat nanti.
Penulis mengucapkan syukur kepada
Allah SWT atas limpahan nikmat sehat-Nya, baik itu berupa sehar fisik
maupun akal pikiran, sehingga penulis mampu untuk menyelesaikan
pembuatan Laporan Pentest Dan Vulnerability Disclosure ini.
Penulis tentu menyadari bahwa laporan
ini masih jauh dari kata sempurna dan masih banyak terdapat kesalahan
serta kekurangan di dalamnya. Untuk itu, penulis mengharapkan kritik
serta saran dari pembaca untuk laporan ini, supaya laporan ini nantinya
dapat menjadi laporan yang lebih baik lagi. Demikian, dan apabila
terdapat banyak kesalahan pada laporan ini penulis mohon maaf yang
sebesar-besarnya.
Demikian, semoga laporan ini dapat bermanfaat. Terima kasih.
DAFTAR ISI
1. Judul.............................................. xx
2. Kata Pengantar............................. xx
3. Daftar Isi....................................... xx
4. Latar Belakang............................. xx
5. Profil PT. ABAL ABAL................... xx
6. Information Gathering
dan Security Audit Dasar............... xx
7. Laporan Temuan Bug.................... xx
8. Dampak dan Resiko Bug................ xx
9. Solusi.............................................. xx
10. Penutup......................................... xx
Lampiran pentest log sheet
LATAR BELAKANG
----------------------------------------------------------------------
DAFTAR ISI
1. Judul.............................................. xx
2. Kata Pengantar............................. xx
3. Daftar Isi....................................... xx
4. Latar Belakang............................. xx
5. Profil PT. ABAL ABAL................... xx
6. Information Gathering
dan Security Audit Dasar............... xx
7. Laporan Temuan Bug.................... xx
8. Dampak dan Resiko Bug................ xx
9. Solusi.............................................. xx
10. Penutup......................................... xx
Lampiran pentest log sheet
----------------------------------------------------------------------
LATAR BELAKANG
Sebelum memulai saya ingin menjelaskan terlebih dahulu latar belakang dan penjelasan dari kegiatan Pentest dan Vulnerability Disclosure ini.
(Gambar : Ilustrasi Pentest)
Penetration testing adalah serangkaian proses berisi prosedur dan teknik mengevaluasi keamanan terhadap sistem komputer atau jaringan dengan melakukan simulasi penyerangan untuk mengetahui letak celah-celah kerawanan pada sistem agar kemudian celah tersebut ditutup/diperbaiki. Penetration testing dilakukan sebagai langkah preventive untuk mengatasi terjadinya peretasan pada suatu sistem.
(Gambar : Diagram Alur Pentest)
Secara umum penetration testing terdiri dari 4 tahap, yakni planning, information gathering, vulnerability assessment,Exploiting, dan reporting.
Di tahap planning. biasanya dibicarakan ruang lingkup pentest, jangka waktu, dokumen legal (NDA), jumlah tim yang dibutuhkan serta apakah staff dan karyawan diberitahukan terlebih dahulu atau tidak tentang adanya pentest, dll.
Langkah berikutnya adalah information gathering dan analysis. Pada tahapan ini dikumpulkan semua informasi tentang sistem target. Ada banyak alat bantu yang bisa digunakan. Kemudian dilakukan network survey untuk mengumpulkan informasi domain, server, layanan yang ada, ip address, host, firewall, dll.
Selanjutnya adalah vulnerability assessment. Setelah mengetahui informasi tentang sistem, pencarian celah keamanan bisa dilakukan manual atau secara automatis tergantung pada tools yang digunakan.
Setelah menemukan celah keamanan, maka langkah berikutnya exploit, yakni percobaan penyerangan (penetration attempt). Pada proses ini dilakukan penentuan target, pemilihan tools dan exploit yang tepat. Umumnya diperlukan juga kemampuan password cracking. Cara lain yang dapat dilakukan adalah dengan melakukan social engineering dan pengujian physical security dari sistem.
Terakhir adalah Reporting. Laporan berisi langkah kerja yang dilakukan, celah keamanan yang ditemukan serta usulan perbaikan. Tahapan selanjutnya biasanya tindak lanjut, yang biasanya harus dilakukan bersama-sama dengan admin untuk memperbaiki sistem.
Penetration testing berbeda dengan sekedar hacking atau cracking. Pentestdilakukan secara legal, dapat dipertanggungjawabkan, dan memiliki tujuan yang tidak melanggar hukum.
----------------------------------------------------------------------
PROFIL PT. ABAL ABAL
PT. ABAL ABAL adalah perusahaan teknologi yang memiliki cabang diseluruh dunia termasuk indonesia perushaan ini adalah perusahaan pembayar pajak terbesar di dunia.
dan PT. ABAL ABAL memiliki 69 Juta Karyawan di seluruh indonesia karena perusahaan ini memiliki motto mari berantas pengangguran di indonesia
saat ini nilai aset kekayaan PT. ABAL ABAL adalah 69 Triliun US Dollar dan Laporan keuangan nya selalu mendapatkan predikat Wajar Tanpa Pengecualian
----------------------------------------------------------------------
INFORMATION GATHERING DAN SECURITY AUDIT DASAR
pada tahap awal pentest saya melakukan aktivitas Information gathering dan security audit terlebih dahulu terhadap wesbite milit PT. ABAL ABAL yang berlamatkan di testphp.vulnweb.com.
tahap awal saya melakukan information gathering dengan dmitry
┌─[root@parrot]─[/home/user]
└──╼ #dmitry testphp.vulnweb.com
dan hasil nya adalah
Gathered TCP Port information for 176.28.50.165
---------------------------------
Port State
21/tcp open
22/tcp open
53/tcp open
80/tcp open
106/tcp open
110/tcp open
143/tcp open
Portscan Finished: Scanned 150 ports, 141 ports were in state closed
jika port tersebut ada yang tidak penting untuk digunakan silahkan ditutup
selanjut nya saya ingin mengetahui webserver yang digunakan oleh PT. ABAL ABAL platform nya seperti apa maka saya gunakan whatweb untuk mencari informasi nya.
┌─[root@parrot]─[/home/user]
└──╼ #whatweb testphp.vulnweb.com
dan hasil nya adalah jenis platform yang terdapat di website PT. ABAL ABAL adalah :
http://testphp.vulnweb.com [200 OK]
ActiveX[D27CDB6E-AE6D-11cf-96B8-444553540000], Adobe-Flash, Country[GERMANY][DE],
Email[wvs@acunetix.com],
HTTPServer[nginx/1.4.1],
IP[176.28.50.165],
Object[http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0]
[clsid:D27CDB6E-AE6D-11cf-96B8-444553540000],
PHP[5.3.10-1~lucid+2uwsgi2],
Script[text/JavaScript],
Title[Home of Acunetix Art],
X-Powered-By[PHP/5.3.10-1~lucid+2uwsgi2],
nginx[1.4.1]
Selanjut nya saya menganalisa platform firewall apakah yang ada di balik website milik PT. ABAL ABAL ini.
┌─[root@parrot]─[/home/user]
└──╼ #wafw00f http://testphp.vulnweb.com
dan hasil nya adalah platform firewall yang ada dibalik web PT. ABAL ABAL adalah F5-BIG IP LTM
Kemudian saya mencoba untuk menganalisa lagi apakah ada load ballancing di webserver nya milik PT. ABAL ABAL ini
┌─[✗]─[root@parrot]─[/home/user]
└──╼ #lbd testphp.vulnweb.com
dan hasil nya adalah webserver milik PT. ABAL ABAL tidak memiliki load ballancing.
kemudian saya mencoba untuk melakukan security audit dasar dengan nikto
┌─[root@parrot]─[/home/user]
└──╼ #nikto -h testphp.vulnweb.com
dan hasil nya adalah
The anti-clickjacking X-Frame-Options, The X-XSS-Protection header (yang berfungsi untuk mencegah serangan XSS), The X-Content-Type-Options header, dan Server leaks inodes via ETags tidak ada di website milik PT. ABAL ABAL.
----------------------------------------------------------------------
LAPORAN TEMUAN BUG
Pada tahap ini saya melaporkan temuan bug hasil dari beberapa prosedur uji pentest yang saya lakukan berikut detail bug yang saya temukan.
pada bagian search saya melakukan uji coba HTML Injection pada kolom search di website PT. ABAL ABAL yang beralamatkan di http:// testphp.vulnweb.com di sisi bagian kolom search nya saya inject code HTML yaitu <h1>Uji HTML Injection</h1><img src="http://www.toddhenry.com/wp-content/uploads/2011/08/20100415-june-bug.jpg"> dan hasil output nya terlihat seperti gambar dibawah ini menandakan website milik PT. ABAL ABAL ini memiliki kerentanan bug HTML INJECTION.
langkah selanjut nya saya menguji coba Bypass Login Authentication pada login page yang beralamatkan di http://testphp.vulnweb.com/login.php username saya input '=' 'or' dan password nya saya inpur '=' 'or'
dan saya berhasil masuk di situ milik PT. ABAL ABAL ini juga memiliki kerentanan Bypass Login Authentication.
dan juga pada bagian kolom search nya saya uji coba lagi apakah ada bug XSS di website ini untuk memastikan nya apda kolom search nya saya inject <script>alert("XSS")</script> dan <script>alert(document.cookie)</script> muncul alert pop up XSS nya seperti gambar dibawah ini kesimpulan nya adalah website milik PT. ABAL ABAL juga memiliki bug XSS
Selanjut nya saya melihat di laman http://testphp.vulnweb.com/disclaimer.php terdapat pesan error SQL yaitu : Warning: mysql_connect(): Lost connection to MySQL server at 'reading
initial communication packet', system error: 111 in
/hj/var/www/database_connect.php on line 2
Website is out of order. Please visit back later. Thank you for
understanding.
untuk memastikan apakah website milik PT. ABAL ABAL ini memiliki bug SQL Injection atau tidak nya saya pun melalukan prosedur pentest SQL Injection pada laman http://testphp.vulnweb.com/artists.php?artist=1
┌─[root@parrot]─[/home/user]
└──╼ #sqlmap -u http://testphp.vulnweb.com/artists.php?artist=1 --dbs
dan hasil nya terdapat 2 database yaitu :
- acuart
- information_schema
selanjut nya saya menginject database acuart
┌─[root@parrot]─[/home/user]
└──╼ #sqlmap -u http://testphp.vulnweb.com/artists.php?artist=1 -D acuart --tables
dan hasil nya saya menemukan tabel
artists
categfeatured
guestbook
pictures
products
users
selanjut nya saya menginject tabel users.
┌─[root@parrot]─[/home/user]
└──╼ #sqlmap -u http://testphp.vulnweb.com/artists.php?artist=1 -D acuart -T users --columns
dan saya menemukan kolom
address
cart
cc
email
name
pass
phone
uname
┌─[root@parrot]─[/home/user]
└──╼ #sqlmap -u http://testphp.vulnweb.com/artists.php?artist=1 -D acuart -T users --columns
dan saya menemukan kolom
address
cart
cc
name
pass
phone
uname
Dan cukup sampai disini saya tidak melakukan dump pada kolom nya karena melanggar hukum disini kesimpulan nya bahwa website milik PT. ABAL ABAL juga memiliki kerentanan SQL Injection
----------------------------------------------------------------------
DAMPAK DAN RESIKO BUG
Temuan jenis bug di website milik PT. ABAL ABAL adalah Multiple Vulnerabilities yaitu HTML Injection, XSS, Bypass Login Authentication, dan SQL Injection
(Gambar : Konsep dan Skenario Dampak Resiko Bug HTML Injection)
HTML Injection adalah jenis masalah injeksi yang terjadi ketika pengguna dapat mengontrol titik input dan mampu menyuntikkan kode HTML sewenang-wenang ke halaman web yang rentan. Kerentanan ini dapat memiliki banyak konsekuensi, seperti pengungkapan cookie sesi pengguna yang dapat digunakan untuk menyamar sebagai korban, atau, secara lebih umum, dapat memungkinkan penyerang untuk memodifikasi konten halaman yang dilihat oleh para korban.
Kerentanan ini terjadi ketika input pengguna tidak dibersihkan dengan benar dan output tidak dikodekan. Suntikan memungkinkan penyerang untuk mengirim halaman HTML berbahaya ke korban. Peramban
yang ditargetkan tidak akan dapat membedakan (mempercayai) legit dari
bagian jahat dan akibatnya akan menguraikan dan mengeksekusi semua
sebagai legit dalam konteks korban.
Ada berbagai metode dan atribut yang dapat digunakan untuk membuat konten HTML. Jika metode ini dilengkapi dengan input yang tidak terpercaya, maka ada risiko tinggi XSS, khususnya yang injeksi HTML. Kode HTML berbahaya dapat disuntikkan misalnya melalui innerHTML, yang digunakan untuk membuat kode HTML yang dimasukkan pengguna. Jika string tidak dibersihkan dengan benar, masalahnya dapat mengarah pada injeksi HTML berbasis XSS. Metode lain dapat berupa document.write ()
Ada berbagai metode dan atribut yang dapat digunakan untuk membuat konten HTML. Jika metode ini dilengkapi dengan input yang tidak terpercaya, maka ada risiko tinggi XSS, khususnya yang injeksi HTML. Kode HTML berbahaya dapat disuntikkan misalnya melalui innerHTML, yang digunakan untuk membuat kode HTML yang dimasukkan pengguna. Jika string tidak dibersihkan dengan benar, masalahnya dapat mengarah pada injeksi HTML berbasis XSS. Metode lain dapat berupa document.write ()
(Gambar : Konsep Serangan XSS)
XSS adalah Cross-Site Scripting (XSS) adalah jenis suntikan, di mana skrip jahat disuntikkan ke situs web yang jinak dan tepercaya. Serangan XSS terjadi ketika penyerang menggunakan aplikasi web untuk mengirim kode berbahaya, umumnya dalam bentuk skrip sisi browser, ke pengguna akhir yang berbeda. Kelemahan yang memungkinkan serangan ini berhasil cukup luas dan terjadi di mana saja aplikasi web menggunakan input dari pengguna dalam output yang dihasilkannya tanpa memvalidasi atau menyandikannya.
Penyerang dapat menggunakan XSS untuk mengirim skrip berbahaya ke pengguna yang tidak curiga. Browser pengguna akhir tidak memiliki cara untuk mengetahui bahwa skrip tidak boleh dipercaya, dan akan menjalankan skrip. Karena menganggap skrip berasal dari sumber tepercaya, skrip jahat dapat mengakses cookie apa pun, token sesi, atau informasi sensitif lainnya yang disimpan oleh browser dan digunakan dengan situs itu
XSS merupakan kode HTML atau Client Script yang diinjeksikan penyerang pada suatu website. Akibatnya penyerang dapat melewati keamanan di sisi klien, mendapatkan informasi sensitif, dan bahkan menyisipkan aplikasi berbahaya.
Sebagai contoh saja. Kalau website punya chat box atau comment box, Pemilik website harus berhati-hati dengan karakter yang bisa di terima oleh input box. Jika setelah seseorang coba memasukan komen atau pesan pada chat box dengan contoh script berikut
<script type="text/javascript">javascript:alert('xss');</script>
Ada juga script yang disisipkan di tag html, contohnya tag img, seperti berikut
<img alt="" src="javascript:alert('XSS');" />
Jika berhasil tersimpan dan setelah web page di-reload keluar popup atau alert yang berisikan "xss" maka positif web page rawan dengan serangan XSS.
Penyerang bisa saja menambahkan client script untuk redirect website ke web milik peyerang untuk menambah trafic atau backlink ke web page penyerang. Ya tentunya tujuan penyerang adalah untuk mengganggu atau mendapatkan keuntungan dari web page tersebut.
Kategori XSS
Serangan XSS di kategorikan menjadi dua, yaitu Presistent dan Non-Presistent. Contoh di atas termasuk serangan presistent dikarenakan serangan berdampak permanen karenan script diinjek ke database atau secondary storage. Sedangkan pada serangan Non-Persistent membutuhkan aktifitas social oleh si penyerang kepada calon korban, dan bersifat sementara(tidak permanen),
Penyerang dapat menggunakan XSS untuk mengirim skrip berbahaya ke pengguna yang tidak curiga. Browser pengguna akhir tidak memiliki cara untuk mengetahui bahwa skrip tidak boleh dipercaya, dan akan menjalankan skrip. Karena menganggap skrip berasal dari sumber tepercaya, skrip jahat dapat mengakses cookie apa pun, token sesi, atau informasi sensitif lainnya yang disimpan oleh browser dan digunakan dengan situs itu
XSS merupakan kode HTML atau Client Script yang diinjeksikan penyerang pada suatu website. Akibatnya penyerang dapat melewati keamanan di sisi klien, mendapatkan informasi sensitif, dan bahkan menyisipkan aplikasi berbahaya.
Sebagai contoh saja. Kalau website punya chat box atau comment box, Pemilik website harus berhati-hati dengan karakter yang bisa di terima oleh input box. Jika setelah seseorang coba memasukan komen atau pesan pada chat box dengan contoh script berikut
<script type="text/javascript">javascript:alert('xss');</script>
Ada juga script yang disisipkan di tag html, contohnya tag img, seperti berikut
<img alt="" src="javascript:alert('XSS');" />
Jika berhasil tersimpan dan setelah web page di-reload keluar popup atau alert yang berisikan "xss" maka positif web page rawan dengan serangan XSS.
Penyerang bisa saja menambahkan client script untuk redirect website ke web milik peyerang untuk menambah trafic atau backlink ke web page penyerang. Ya tentunya tujuan penyerang adalah untuk mengganggu atau mendapatkan keuntungan dari web page tersebut.
Kategori XSS
Serangan XSS di kategorikan menjadi dua, yaitu Presistent dan Non-Presistent. Contoh di atas termasuk serangan presistent dikarenakan serangan berdampak permanen karenan script diinjek ke database atau secondary storage. Sedangkan pada serangan Non-Persistent membutuhkan aktifitas social oleh si penyerang kepada calon korban, dan bersifat sementara(tidak permanen),
(Gambar : Ilustrasi Bypass Login Authentication)
Bypass Login Authentication adalah teknik dimana queri sql dipaksa dimasukanpada form login yang nantinya akan dibaca oleh komputer sebagai sebuah intruksi login (karena intruksinya memaksa, jadi tanpa user&pass pun komputer akan memprosesnya)
Contoh login website dengan username ‘=’ ‘or’ dan password ‘=’ ‘or’ dan si penyerang berhasil masuk ke admin panel website tersebut tanpa harus menginput uasername dan password yang benar.
Contoh login website dengan username ‘=’ ‘or’ dan password ‘=’ ‘or’ dan si penyerang berhasil masuk ke admin panel website tersebut tanpa harus menginput uasername dan password yang benar.
(Gambar : Konsep Serangan SQL Injection)
SQL Injection (SQLi) adalah jenis serangan injeksi yang memungkinkan untuk mengeksekusi pernyataan SQL berbahaya. Pernyataan ini mengontrol server basis data di belakang aplikasi web. Penyerang dapat menggunakan kerentanan SQL Injection untuk memotong langkah-langkah keamanan aplikasi. Mereka dapat berkeliling otentikasi dan otorisasi halaman web atau aplikasi web dan mengambil konten dari seluruh database SQL. Mereka juga dapat menggunakan SQL Injection untuk menambah, memodifikasi, dan menghapus catatan dalam database.
Kerentanan SQL Injection dapat memengaruhi situs web atau aplikasi web apa pun yang menggunakan database SQL seperti MySQL, Oracle, SQL Server, atau lainnya. Penjahat dapat menggunakannya untuk mendapatkan akses tidak sah ke data sensitif Anda: informasi pelanggan, data pribadi, rahasia dagang, kekayaan intelektual, dan banyak lagi. Serangan SQL Injection adalah salah satu kerentanan aplikasi web tertua, paling lazim, dan paling berbahaya. Organisasi OWASP (Proyek Keamanan Aplikasi Web Terbuka) mencantumkan injeksi dalam dokumen OWASP Top 10 2017 sebagai ancaman nomor satu terhadap keamanan aplikasi web.
SQL Injection adalah teknik yang menyalahgunakan celah keamanan yang ada pada lapisan basis data sebuah aplikasi. Celah ini terjadi ketika input dari pengguna tidak disaring secara benar, contohnya adalah kolom username yang seharusnya hanya diisi dengan huruf atau angka tapi malah diisi dengan karakter lain (seperti: – = ’) sehingga penyerang menggunakan celah tersebut dengan cara memasukan query dari SQL.
SQL Injection selalu menjadi teknik penyerangan terfavorit sebagian besar hacker dari tahun ke tahun, disamping karena semakin sulitnya hacker melakukan serangan melalui jaringan yang disebabkan oleh semakin canggihnya perangkat-perangkat pertahanan dari target (contoh: firewall, IDS, UTM, dll), SQL Injection juga sangat mudah dilakukan karena masih banyak web programmer yang masih kurang “aware” terhadapnya.
Kerentanan SQL Injection dapat memengaruhi situs web atau aplikasi web apa pun yang menggunakan database SQL seperti MySQL, Oracle, SQL Server, atau lainnya. Penjahat dapat menggunakannya untuk mendapatkan akses tidak sah ke data sensitif Anda: informasi pelanggan, data pribadi, rahasia dagang, kekayaan intelektual, dan banyak lagi. Serangan SQL Injection adalah salah satu kerentanan aplikasi web tertua, paling lazim, dan paling berbahaya. Organisasi OWASP (Proyek Keamanan Aplikasi Web Terbuka) mencantumkan injeksi dalam dokumen OWASP Top 10 2017 sebagai ancaman nomor satu terhadap keamanan aplikasi web.
SQL Injection adalah teknik yang menyalahgunakan celah keamanan yang ada pada lapisan basis data sebuah aplikasi. Celah ini terjadi ketika input dari pengguna tidak disaring secara benar, contohnya adalah kolom username yang seharusnya hanya diisi dengan huruf atau angka tapi malah diisi dengan karakter lain (seperti: – = ’) sehingga penyerang menggunakan celah tersebut dengan cara memasukan query dari SQL.
SQL Injection selalu menjadi teknik penyerangan terfavorit sebagian besar hacker dari tahun ke tahun, disamping karena semakin sulitnya hacker melakukan serangan melalui jaringan yang disebabkan oleh semakin canggihnya perangkat-perangkat pertahanan dari target (contoh: firewall, IDS, UTM, dll), SQL Injection juga sangat mudah dilakukan karena masih banyak web programmer yang masih kurang “aware” terhadapnya.
----------------------------------------------------------------------
SOLUSI
(Gambar : Konsep Cyber Security)
Cara Mencegah HTML Injection
Bagaimana Mencegah HTML Injection ?
Tidak ada keraguan, bahwa alasan utama serangan ini adalah kurangnya perhatian developer dan kurangnya pengetahuan. Jenis serangan injeksi ini terjadi ketika input dan output tidak divalidasi dengan benar. Oleh karena itu aturan utama untuk mencegah serangan HTML adalah validasi data yang sesuai.
Setiap input harus diperiksa jika mengandung kode skrip atau kode HTML apa pun. Biasanya sedang diperiksa, jika kode tersebut mengandung skrip khusus atau tanda kurung HTML - <script> </script>, <html> </html>.
Ada banyak fungsi untuk memeriksa apakah kode tersebut mengandung tanda kurung khusus. Pemilihan fungsi pemeriksaan tergantung pada bahasa pemrograman yang Anda gunakan.
Perlu diingat, bahwa pengujian keamanan yang baik juga merupakan bagian dari pencegahan. Saya ingin memperhatikan, karena serangan HTML Injection sangat jarang, ada lebih sedikit literatur untuk mempelajarinya dan lebih sedikit pemindai untuk dipilih untuk pengujian otomatis. Namun, bagian dari pengujian keamanan ini benar-benar tidak boleh dilewatkan, karena Anda tidak pernah tahu kapan itu bisa terjadi.Referensi Lebih detail nya :
Tidak ada keraguan, bahwa alasan utama serangan ini adalah kurangnya perhatian developer dan kurangnya pengetahuan. Jenis serangan injeksi ini terjadi ketika input dan output tidak divalidasi dengan benar. Oleh karena itu aturan utama untuk mencegah serangan HTML adalah validasi data yang sesuai.
Setiap input harus diperiksa jika mengandung kode skrip atau kode HTML apa pun. Biasanya sedang diperiksa, jika kode tersebut mengandung skrip khusus atau tanda kurung HTML - <script> </script>, <html> </html>.
Ada banyak fungsi untuk memeriksa apakah kode tersebut mengandung tanda kurung khusus. Pemilihan fungsi pemeriksaan tergantung pada bahasa pemrograman yang Anda gunakan.
Perlu diingat, bahwa pengujian keamanan yang baik juga merupakan bagian dari pencegahan. Saya ingin memperhatikan, karena serangan HTML Injection sangat jarang, ada lebih sedikit literatur untuk mempelajarinya dan lebih sedikit pemindai untuk dipilih untuk pengujian otomatis. Namun, bagian dari pengujian keamanan ini benar-benar tidak boleh dilewatkan, karena Anda tidak pernah tahu kapan itu bisa terjadi.Referensi Lebih detail nya :
Cara Mencegah XSS
Untuk melindungi dari serangan XSS pastikan konten dinamis apa pun yang berasal dari penyimpanan data tidak dapat digunakan untuk menyuntikkan JavaScript pada halaman.
Di PHP sudah ada fungsi yang dapat mencegah serangan XSS yaitu htmlspecialchars() namun tidaklah cukup untuk melakukan escaping.
Akan lebih baik jika pemilik website memblok input yang berupa tag script atau tag images.
Referensi Lebih Detail
https://www.checkmarx.com/2017/10/09/3-ways-prevent-xss/
https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.md
https://www.hacksplaining.com/prevention/xss-stored
https://www.computerweekly.com/tip/Cross-site-scripting-explained-How-to-prevent-XSS-attacks
https://www.acunetix.com/blog/articles/preventing-xss-attacks
Cara Mencegah Bypass Login Authentication
Untuk memverifikasi apakah fase serangan telah berhasil atau tidak, alat otomatis menilai kode kesalahan yang dikembalikan dan informasi halaman dari server web host. Praktik aman adalah memaksa kesalahan atau permintaan tak terduga untuk menghasilkan respons HTTP 200 OK, alih-alih berbagai jenis kesalahan 400. Ini akan mempersulit penyerang untuk membedakan antara upaya login yang valid dan tidak valid.
Ukuran penting dalam menghentikan serangan autentikasi paksa adalah dengan menambahkan konten acak pada halaman yang disajikan ke browser klien yang mengotentikasi.
Klien harus mampu mengirimkan konten acak ini sebagai bagian dari proses otentikasi untuk melanjutkan lebih lanjut di situs web atau aplikasi.
dan query bypass login seperti '=' 'or' dan query bypass lainnya juga harus diblackist dan difilter.
Cara Mencegah SQL Injection
Satu-satunya cara pasti untuk mencegah serangan SQL Injection adalah validasi input dan permintaan parametrized termasuk pernyataan yang disiapkan. Kode aplikasi tidak boleh menggunakan input secara langsung. Pengembang harus membersihkan semua input, tidak hanya input formulir web seperti formulir masuk. Mereka harus menghapus elemen kode berbahaya potensial seperti tanda kutip tunggal. Ini juga merupakan ide yang baik untuk mematikan visibilitas kesalahan basis data di situs produksi Anda. Kesalahan basis data dapat digunakan dengan SQL Injection untuk mendapatkan informasi tentang basis data Anda.
Untuk meminimalisir serangan SQL injection, terdapat beberapa tindakan yang dapat Anda lakukan, yaitu :
1. Jika memungkinkan, Anda dapat membatasi panjang input box. Dengan membatasinya di kode program, maka peretas tidak bisa melakukan injeksi dengan perintah yang panjang.
2. Memfilter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal ( Input Validation)
3. Menyembunyikan atau mematikan pesan eror yang muncul dari SQL server yang sedang berjalan.
Satu-satunya cara pasti untuk mencegah serangan SQL Injection adalah validasi input dan permintaan parametrized termasuk pernyataan yang disiapkan. Kode aplikasi tidak boleh menggunakan input secara langsung. Pengembang harus membersihkan semua input, tidak hanya input formulir web seperti formulir masuk. Mereka harus menghapus elemen kode berbahaya potensial seperti tanda kutip tunggal. Ini juga merupakan ide yang baik untuk mematikan visibilitas kesalahan basis data di situs produksi Anda. Kesalahan basis data dapat digunakan dengan SQL Injection untuk mendapatkan informasi tentang basis data Anda.
Untuk meminimalisir serangan SQL injection, terdapat beberapa tindakan yang dapat Anda lakukan, yaitu :
1. Jika memungkinkan, Anda dapat membatasi panjang input box. Dengan membatasinya di kode program, maka peretas tidak bisa melakukan injeksi dengan perintah yang panjang.
2. Memfilter input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal ( Input Validation)
3. Menyembunyikan atau mematikan pesan eror yang muncul dari SQL server yang sedang berjalan.
Referensi Detail bisa dilihat di laman ini :
https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.md
https://portswigger.net/web-security/sql-injection
https://portswigger.net/web-security/sql-injection
----------------------------------------------------------------------
PENUTUP
Demikian laporan ini dibuat agar menjadi perhatian khusus kepada admin dan developer IT PT. ABAL ABAL untuk menjadi lebih fokus lagi terhadap penangan cyber security terhadap sistem IT nya.
Atas kerjasama nya saya ucapkan terimakasih.
Daftar pustaka dan Referensi
https://www.kompasiana.com/moengil/5a4ae2655e13736b135dd7e3/bagaimana-melakukan-penetration-testing
Daftar pustaka dan Referensi
https://www.kompasiana.com/moengil/5a4ae2655e13736b135dd7e3/bagaimana-melakukan-penetration-testing
https://www.acunetix.com/vulnerabilities/web/html-injection/
https://www.doavers.com/blog/mengenal-xss-cross-site-scripting-dan-cara-mencegahnya
https://www.doavers.com/blog/mengenal-xss-cross-site-scripting-dan-cara-mencegahnya
https://www.logique.co.id/blog/2019/03/15/penjelasan-dan-cara-menghindari-sql-injection/
https://www.i-3.co.id/2016/12/28/cara-mudah-untuk-mengerti-sql-injection/
----------------------------------------------------------------------
oke cukup sampai disini dulu
PDF dan Word Sample Reporting diatas bisa kalian Download sini : https://drive.google.com/open?id=1Y0zND7HCtDy0g5sS5IY_koPo8D5tiZ2a
NB : Jika ada kesalahan dalam istilah dan kalimat mohon dimaklumi karena gw juga masih belajar dan noob banget parah jika ada sample laporan lain yang lebih baik dari ini silahkan gunakan saja sample laporan tersebut.
NB : Jika ada kesalahan dalam istilah dan kalimat mohon dimaklumi karena gw juga masih belajar dan noob banget parah jika ada sample laporan lain yang lebih baik dari ini silahkan gunakan saja sample laporan tersebut.