mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-21 02:23:30 +00:00
45 lines
2.4 KiB
Markdown
45 lines
2.4 KiB
Markdown
# Manipuladores de Protocolo WebView
|
|
|
|
Os manipuladores de protocolo WebView permitem que aplicativos iOS abram URLs personalizadas em um navegador interno. Isso pode ser usado para permitir que aplicativos acessem conteúdo da web sem sair do aplicativo. No entanto, se um manipulador de protocolo WebView for mal implementado, ele pode ser explorado por um atacante para executar ataques de phishing ou redirecionar o usuário para sites maliciosos.
|
|
|
|
## Verificando manipuladores de protocolo WebView
|
|
|
|
Para verificar se um aplicativo iOS possui manipuladores de protocolo WebView, você pode usar o seguinte comando:
|
|
|
|
```bash
|
|
$ frida -U -f com.example.app --no-pause -l frida-ios-hooks.js
|
|
```
|
|
|
|
```javascript
|
|
Interceptor.attach(ObjC.classes.UIApplication["- openURL:"].implementation, {
|
|
onEnter: function(args) {
|
|
console.log("[*] openURL: " + ObjC.Object(args[2]).toString());
|
|
}
|
|
});
|
|
```
|
|
|
|
Este comando usa o Frida para interceptar a chamada `openURL` do aplicativo e imprimir a URL que está sendo aberta. Se a URL começar com `http://` ou `https://`, ela será aberta em um navegador externo. No entanto, se a URL começar com um manipulador de protocolo WebView personalizado, ela será aberta em um navegador interno.
|
|
|
|
## Explorando manipuladores de protocolo WebView
|
|
|
|
Se um aplicativo iOS tiver um manipulador de protocolo WebView mal implementado, ele poderá ser explorado por um atacante para executar ataques de phishing ou redirecionar o usuário para sites maliciosos. Por exemplo, um atacante pode criar um site malicioso que use um manipulador de protocolo WebView personalizado para redirecionar o usuário para um site de phishing.
|
|
|
|
Para explorar um manipulador de protocolo WebView, você pode usar o seguinte comando:
|
|
|
|
```bash
|
|
$ frida -U -f com.example.app --no-pause -l frida-ios-hooks.js
|
|
```
|
|
|
|
```javascript
|
|
Interceptor.attach(ObjC.classes.UIApplication["- openURL:"].implementation, {
|
|
onEnter: function(args) {
|
|
var url = ObjC.Object(args[2]).toString();
|
|
if (url.startsWith("myapp://")) {
|
|
console.log("[*] Intercepted URL: " + url);
|
|
// Do something malicious here
|
|
}
|
|
}
|
|
});
|
|
```
|
|
|
|
Este comando usa o Frida para interceptar a chamada `openURL` do aplicativo e verificar se a URL começa com um manipulador de protocolo WebView personalizado. Se a URL for maliciosa, o atacante pode executar um código malicioso para roubar informações do usuário ou redirecioná-lo para um site de phishing.
|