我们正在使用 Flutter 进行应用程序开发。我们的安全测试人员说我们需要在 Flutter 代码中禁用 SSL Pinning,以便他们可以运行一些测试。我们做不到。我们使用 Dio 包进行 HTTP 请求。我们如何在 Flutter 上禁用 SSL Pinning?
问问题
361 次
2 回答
1
编辑:
SSL 固定不是默认行为。因此,如果尚未启用它,则无需禁用它。
于 2021-11-09T07:57:04.593 回答
0
我遇到了类似的问题。解决方案非常简单。http 数据包自动阻止网络监听。
要解决此问题并重新提交以进行渗透测试,请对main.dart文件进行以下更改:
class MyHttpOverrides extends HttpOverrides {
@override
HttpClient createHttpClient(SecurityContext context) {
if (Platform.isAndroid) {
return super.createHttpClient(context)..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
}
return super.createHttpClient(context)
..findProxy = (uri) {
return "PROXY localhost:8080";
}
..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
}
}
并在main()方法中添加这一行:
HttpOverrides.global = MyHttpOverrides();
于 2022-03-04T10:34:44.743 回答