Issue 125: iPhone call recorder API flaw, Burp and OpenAPI, GraphQL pentesting, FAPI 💱

The Latest API Security News, Vulnerabilities and Best Practices
Issue: #125
iPhone call recorder API flaw, Burp and OpenAPI, GraphQL pentesting, FAPI
This week, we look at an API vulnerability in a popular call recorder app, newly added OpenAPI support in Burp, a GraphQL pentesting lab, and the just-released Financial-grade API (FAPI) standard.
Vulnerability: iPhone Automatic call recorder
 

Anand Prakash found an API vulnerability in one of the most popular call recording apps for iPhone – Automatic call recorder. The application has many users and is #15 in the Business Category worldwide in iPhone’s app store.

The vulnerability allowed attackers to get access to any user’s phone recording – thus was extremely sensitive.

Here’s how the vulnerability worked:

1. Researchers decompiled the app and found sensitive details, including S3 buckets and hostnames.

2. They observed the app’s API traffic. The mobile app made a call to the /fetch-sinch-recordings.php API in the cloud:

POST /fetch-sinch-recordings.php HTTP/1.1
Host: 167.88.123.157:80
Content-Type: application/json
Connection: close
Accept: */*
User-Agent: CallRecorder/2.25 (com.arun.callrecorderadvanced; build:1; iOS 14.4.0) Alamofire/4.7.3
Accept-Language: en-IN;q=1.0, kn-IN;q=0.9, hi-IN;q=0.8, hi-Latn-IN;q=0.7
Content-Length: 72
Accept-Encoding: gzip, deflate

{
"UserID": "xxxxxx",
"AppID": "xxx"
}

2. The API was not protected with authentication or authorization. An attacker just had to intercept the call and issue their own, changing UserID to the victim’s phone number.

3. The API responded with information about recorded calls of that user, including the AWS S3 URL of the recording:

HTTP/1.1 200 OK
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 413
Connection: close
Content-Type: application/json

[
{
"start_time": "1604681",
"start_time_iso": "2019-10-01T17:58:54+0100",
"caller_number": "xxxxxxx",
"callee": "+xxxxxxxxx",
"marked_as_deleted": "0",
"user_id": "xxxxxxxxxx",
"sinch_app_id": "xxxxxxxxxxxx",
"call_id": "xxxxxxx",
"s3_key": "call_recordings/1011101/xyzrecording.wav"
}
]

Lessons learned:

Tools: Burp and OpenAPI
 

Burp Scanner has added support for API crawling and OpenAPI v3 import.

The blog post referenced above talks about the Burp team’s design decisions when adding REST API support to their crawler. Like in the case of web page crawling, Burp wants to find the system’s attack surface, now including its APIs.

The Burp team is taking advantage of the structured REST API OpenAPI v3 contracts. The tool parses the contract and then uses the following rules to generate “representative” calls. Quoting the blog post:

  • Every combination of server (as long as it is in scope) and path methods (GET, POST, etc.). So if we have three servers and an endpoint with a GET and POST method, this would be 3 x 2 = 6 total endpoint locations.
  • If optional parameters are defined, the crawler will send at least two requests to that endpoint: one request containing only the mandatory parameters and another request that includes all of the optional parameters as well.
  • In the case of enumerated types, the crawler will send a separate request for each of the parameter’s permitted values.
  • In the case of numeric values we use the maximum and minimum values as specified.
  • If example sets of parameters are provided we use the final provided example.
  • If the parameters are not defined in one of the ways listed above we revert back to using Guess and Canary Keys as we do for HTML forms.
Pentesting: GraphQL
 

Want to practice some GraphQL pentesting? Check out this Generic University lab from Katie Paxton-Fear: https://github.com/InsiderPhD/Generic-University

If you want to learn some theory behind the lab and see it in action, here is Katie’s OWASP London user group talk on that topic:

Standards: FAPI
 

If you ever used financial applications for your tax returns, financial planning, credit reports, money transfers, and so on, you likely were prompted to give them access to your bank accounts. Doing that by sharing your all-powerful username and password and then letting them scrape the bank web portal is a bad idea. Username and password give full access, beyond your likely much more narrow intent. And scraping easily breaks with any change of the website.

Financial-grade API (FAPI) working group in the OpenID Foundation aims to solve this problem by standardizing APIs that financial institutions use to communicate. The standard describes how OAuth is used to delegate and protect the access, and the JSON schemas for data exchange.

This week, the group reached its major milestone: FAPI 1.0 Part 1 and Part 2 are now Final Specifications.

 
 
Thanks for reading.

That's it for today. If you have any feedback or stories to share, simply reply to this email.

Please forward the newsletter to your friends and colleagues who might benefit from it.

 
42Crunch, Inc.   95 Third Street  2nd Floor  San Francisco  CA   94103   United States
You received this email because you are subscribed to API Security News from 42Crunch, Inc..

Update your email preferences to choose the types of emails you receive or Unsubscribe from all future emails  
 
 

Older messages

Issue 124: API vulnerabilities at Microsoft and Truecaller Guardians, Pentester labs, API security at Ford Motors 🚗

Saturday, March 13, 2021

Hi, this week we look at the recent brute-force attack on Microsoft's password reset, APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #124 API vulnerabilities

Issue 123: API vulnerabilities VMWare vCenter and Facebook, mismatch between JSON parsers, API security fixes in VS Code

Thursday, March 4, 2021

Hi, this week we look at how URL caching and JSON parsing can bite you, and check out APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #123 API vulnerabilities

Issue 122: API issues at Clubhouse 👋 and healthcare apps, scope-based recon, OAS v3.1.0

Thursday, February 25, 2021

Hi, this week we look at API vulnerabilities in Clubhouse and mHealth apps, recon & OAS APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #122 API issues at

Issue 121: Vulnerability at chess.com, GraphQL security playground and checklist 📝

Thursday, February 18, 2021

Hi, today we look at the recent chess.com API flaw and useful security resources for APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #121 Vulnerability at chess.

Issue 120: Video doorbells security flaws, intro to JWT attacks, security zines

Saturday, February 13, 2021

Hi, this week (besides security flaws) we have tutorials on JWT, AuthZ & AuthN, K8S APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #120 Video doorbells

You Might Also Like

Free online event this Thursday: Getting ahead with time series data

Tuesday, May 14, 2024

Free Online Event Do you know how your competitors use time series data to get ahead? Join us on Thursday, May 16 at 10am PT/1pm ET for a free, hour-long online fireside chat called “Unleash the Full

Here's the deal

Tuesday, May 14, 2024

We wanted you to be among the first to know about our plans to relaunch the Gigantic training courses that Product Collective now powers! Here's the deal: From May 20th - May 31st, anybody that

Anthropic’s Claude goes to Europe

Tuesday, May 14, 2024

Anthropic is launching the AI assistant in a few countries on the continent View this email online in your browser By Rebecca Bellan Tuesday, May 14, 2024 Welcome to TechCrunch AM! There's rarely a

LW 133 - Using The Checkout Branding API To Customize a Shopify Checkout

Tuesday, May 14, 2024

Using The Checkout Branding API To Customize a Shopify Checkout Shopify Development news and articles Issue 133 - 05/14/2024 Read Online Liquid Weekly All Things Shopify Development Using The Checkout

⚙️ Apple partners with OpenAI for IOS 18

Tuesday, May 14, 2024

Plus: Your Instagram/Facebook posts are being used to train Meta's AI ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Google I/O today: What we expect

Tuesday, May 14, 2024

ChatGPT-4o vs. ChatGPT Plus; Luba 2 robot mower; Best VPN deals -- ZDNET ZDNET Tech Today - US May 14, 2024 placeholder What to expect from Google I/O 2024: Android 15, Gemini, Wear OS, and more

Gulp Developer Survey; esbuild v0.21.0; ESLint compatibility utilities; Nx 19.0; Bun v1.1.8; shell

Tuesday, May 14, 2024

We have 12 links for you - Stay up-to-date on JavaScript and tools Introducing the Gulp Developer Survey medium.com “Gulp has come a long way since its humble beginnings a decade ago. In that time,

Our verdict on the new iPad Pro

Tuesday, May 14, 2024

The Morning After It's Tuesday, May 14, 2024. Apple's new iPad Pro is one of the most divisive (and thinnest) devices the company has made in years. Sure, it's an undeniable feat of

New Cross-Platform Android, iOS Feature Detects Unwanted Bluetooth Tracking Devices

Tuesday, May 14, 2024

THN Daily Updates Newsletter cover Enterprise Transformation to AI and the Metaverse ($59.99 Value) FREE for a Limited Time Strategies for the Technology Revolution Download Now Sponsored LATEST NEWS

Post from Syncfusion Blogs on 05/14/2024

Tuesday, May 14, 2024

New blogs from Syncfusion What is Cybersecurity? By Katherine Dobson This blog post explores simple cybersecurity practices to safeguard your data in today's digital world. Reached 50! A Milestone