Making fiddler work with chrome - google-chrome

I want to use fiddler to monitor api calls made by my browser when it visits some pages.
The technology - Fiddler 4.6x, Chrome 56, Firefox 51, Windows 7 64 bit.
The problem - Fiddler does not work with chrome. When I open any page on chrome, I get the error "Your connection is not private: Attackers might be trying to steal your information from website (for example, passwords, messages, or credit cards). NET::ERR_CERT_AUTHORITY_INVALID". FYI, I easily fixed a similar issue with firefox.
Solutions I tried that failed -
Four hours of google and stack overflow did not give me any solutions.
Convert the fiddler cert to pk 7 ??? format.
Import fiddler cert into chrome. Also, grant the cert all kinds of advanced permissions.
Install the fiddler cert with admin rights on windows, by "running" it.
Run chrome and ignore cert errors.
Regenerating the fiddler cert and restarting fiddler and browsers as given in the official fiddler book.
In 2,3 the cert never appeared in trusted cert store, but appeared in personal and immediate cert store. In 1, nothing even happened. Please tell me how I can make this work. Any links to the basics of all this would help.

I was facing similar issue with Fiddler v4.6 and followed these steps:
Fiddler 4.6.1.5+
Click Tools > Fiddler Options.
Click the HTTPS tab.
Ensure that the text says Certificates generated by CertEnroll engine.
Click Actions > Reset Certificates. This may take a minute.
Accept all prompts
Fiddler 4.6.1.4 and earlier
Click Tools > Fiddler Options.
Click the HTTPS tab
Uncheck the Decrypt HTTPS traffic checkbox
Click the Remove Interception Certificates button. This may take a minute.
Accept all of the prompts that appear (e.g. Do you want to delete these certificates, etc)
(Optional) Click the Fiddler.DefaultCertificateProvider link and verify that the dropdown is set to CertEnroll
Exit and restart Fiddler
Click Tools > Fiddler Options.
Click the HTTPS tab
Re-check the Decrypt HTTPS traffic checkbox
Accept all of the prompts that appear (e.g. Do you want to trust this root certificate)
Reference:
https://textslashplain.com/2015/10/30/reset-fiddlers-https-certificates/

I used these two stack overflow posts -
https://superuser.com/questions/145394/windows-7-will-not-install-a-root-certificate
https://superuser.com/questions/647036/view-install-certificates-for-local-machine-store-on-windows-7
I don't know what is happening. One of these posts worked and I got the fiddler cert into the trusted store. But, fiddler still cannot decrypt many websites https traffic, especially that of google.

After I reinstalled fiddler and did what Abir suggested Fiddler still didn't capture any traffic.
In my case it stopped working because I installed a chrome extension named Tunnel Bear, uninstalling the extension solved it for me.

Firefox has its own certificate store so I assume you just installed the DO_NOT_TRUST... Fiddler root cert there and everything worked. Pretty much you should do the same with Windows certificate store in order for Chrome to work. So make sure you remove all the fiddler certificates you previously generated and regenerate.

if fiddler do not capture chrome traffic, one solution is checking extensions. in my case i use zenmate vpn. when i disable this extension, fiddler capture all traffic in chrome

Related

Can't connect to Github's website in Chrome but it works when I use Firefox

https://i.imgur.com/qKyu744.jpg
This started happening just a few days ago. I can access the site on the same computer in Firefox. Not sure why it is telling me that the site is insecure, but that must be related. I tried ipconfig /flushdns, deleting my cookies, and disabling my firewall but none of those fixed it. Can't find any solutions online either so far. Using the latest Chrome update and Windows 10. Please help!
Edit: Solved my issue by installing this Windows update:
https://support.microsoft.com/en-us/help/4284835
It is possible that you might have deleted trusted certificates from chrome trust store (github CA SSL certificate is issued by DigiCert High Assurance EV Root CA ), where as in for other browsers the trust store must be a different location in your case.
To check above listed certificate present in Chrome trusted store or not, do the following
Open Chrome then Go to Settings => Manage Certificates - Click on it, when Certificates pop-up shows then check at' Trusted Root Certificates Authorities, if desired certificate is not present then import it.
For what it's worth, this is what worked for me:
Open up the start menu and search for and open "Internet Options".
Go to the "Connections" tab.
Click on "LAN settings".
Untick all the checkboxes (there are 3).
Click OK twice and then access https://github.com/ via Google Chrome.
The reason why it works on Firefox is because it has its own proxy settings. Google Chrome takes the proxy settings of the computer.
If you enter the website URL with www, it will work in chrome.
To avoid this you need to add another CNAME without www.
I am using MacOS and I had similar issue of accessing GitLab with Chrome, but no issue with Safari.
What helps me finally is: Setting -> Privacy and Security, and turn off "Use Secure DNS".
If CORS extension has been downloaded and enabled in the Chrome browser then disable the CORS(Allow-control-Allow-origin) extension. It will work..!

How to avoid the "Your connection is not private" screen when developing an HTTP2 site locally?

When I'm developing using Node's http2 library (which only supports HTTPS, not HTTP), when I open localhost in Chrome, I get a warning screen:
Your connection is not private
Attackers might be trying to steal your information from localhost (for example, passwords, messages or credit cards). Learn more
NET::ERR_CERT_AUTHORITY_INVALID
You have to click "Advanced" then "Proceed to localhost (unsafe)". It gets annoying having to do this during development.
I generated a cert and key for localhost use according to the instructions for Node's http2 module. Is there any way to generate them in such a way that Chrome would actually accept them for localhost? Or is there another easy way to get rid of this warning?
(I'm aware of the option of launching Chrome with --ignore-certificate-errors but I'd prefer not to do this for all websites.)
Try the following:
In Chrome, put in chrome://flags/#allow-insecure-localhost in the address bar.
Enable the option that says "Allow invalid certificates for resources loaded from localhost".
Restart Chrome, and it should allow the site.
You can also type thisisunsafe once you put focus on the website
There are two options you can use to get rid of this annoying thing, which are:
Temporarily Disable SSL Warning
You can go to Google Chrome, input chrome://flags in the address bar and press the Enter key to access advanced settings.
In the next step, find the "Allow invalid certificates for resources loaded from localhost" option and enable it. This method is the same as using --ignore-certificate-errors attribute on your Google Chrome shortcut. It disables the SSL warning for all sites.
It's just a temporary solution and I wouldn't suggest to use this frequently.
(I'm aware of the option of launching Chrome with
--ignore-certificate-errors but I'd prefer not to do this for all websites.)
Install SSL On Your Localhost with OpenSSL
You can install SSL on your localhost with OpenSSL. By using this method, your localhost can run HTTPS without any issue at all. The tutorial is quite long with detailed instructions, you can read it at here.
Source: Fix Your Connection Is Not Private Error In Your Browser - ByteBiteBit.com
I tried too many techniques but nothing works at last i find it while i was learning Webapi.
i was unable to visit to any side beacuse of showing the Error "Your Connection is not Private"......
THE REASON IS You have to enable SSL on your Browser and how you can do it let me share the link..
Just follow the steps
https://www.youtube.com/watch?v=4hb6iD3nP6g&list=PL6n9fhu94yhW7yoUOGNOfHurUE6bpOO2b&index=16
chrome://flags/#allow-insecure-localhost in the address bar.
set it to Enabled
relaunch chrome
result

Fiddler suddenly cannot capture anything from broswers

Fiddler had worked well on my laptop, but all of a sudden it cannot capture anything from my browsers. I have no ideas about what I have done may cause this problem.
The version of my fiddler is v4.6.0.5, it cannot capture http requests from all of my browsers, chrome, IE and Edge. My system is Windows 10.
I've carefully read the webpage Fiddler not capturing traffic from browsers
However, solutions works well for others do not work in my situations.
I've tried reinstalled fiddler and reset chrome hundreds of times
http://localhost.fiddler:8888/ cannot be found
http://127.0.0.1:8888 returns "This page returned a HTTP/200 response
Originating Process Information: chrome:79748"
I didn't use any filters
I have no extensions on chrome and close all kinds of VPN software.
I've checked 'Decrypt HTTPS traffic'
Anybody knows how can I solve the problem? Thank you!
I found that some of the software's http request is captured. It seems like that only the browsers' requests are not captured.
I temporarily use the developer tools in chrome for replacement(Ctrl+Shift+I, choose "NetWork"). It can capture the requests missed in Fiddler.
Your output indicates that:
Fiddler is running, and
It isn't blocked by a firewall or other software
Fiddler is not set as your system's proxy
On Fiddler's File menu, does the Capture traffic item have a checkmark next to it? While Fiddler is running, if you click Tools > WinINET Options > LAN Settings, what do you see?
Do you have any third-party antivirus software installed? Is this machine under the control of Group Policy (e.g. on a corporate network)?
If you start Chrome like so: chrome --proxy-server=http://127.0.0.1:8888, what happens?

ERR_SSL_PROTOCOL_ERROR in chrome 39 and 40 but works in chrome 36.Help fix in chrome 39

I am able to access a URL in Chrome 36 and IE8 but in Chrome 39 or 40 or Firefox 35 it throws the error:
Unable to make a secure connection to the server. This may be a
problem with the server, or it may be requiring a client
authentication certificate that you don't have.
Error code: ERR_SSL_PROTOCOL_ERROR}.
It seems that it is an issue related to the SSL certificate. How can I fix this?
Google announced that they would begin removing support for SHA-1 cryptographic hash algorithm beginning with Chrome 39. According to Google:
HTTPS sites whose certificate chains use SHA-1 and are valid past 1 January 2017 will no longer appear to be fully trustworthy in Chrome’s user interface.
There are several sites which can provide detailed analysis of your SSL certificate chain, such as Qualys SSL Labs' SSL Test.
Google Chrome does have a highly risky command-line option --ignore-certificate-errors which might bypass certain certificate errors. Be aware that ignoring certificate errors puts all of your SSL traffic at risk of being eavesdropped on.
It's also possible that this is a new bug. Google switched from using OpenSSL library to it's own "BoringSSL" library in Chrome 38. To report a bug in Chrome visit chrome://help/ and click "Report an issue".
Try this. In Chrome, enter "chrome://flags/#enable-quic" without the quotes as a URL. CTRL + F to search for "quic", at which point you'll find...
Experimental QUIC protocol. Mac, Windows, Linux, Chrome OS, Android
Enable experimental QUIC protocol support. #enable-quic
Turn that to disabled, and let it restart your browser when prompted below.
Go to Windows Firewall, click on "Restore Defaults", then again. The problem should be fixed.
For me this issue resolved when I turned off my Antivirus Browsing control.
First check that in :
Internet Explorer- go to tools/internet options/advanced in the settings box, scroll all the way to the bottom and select Use TLS 1.0 and it will fix the problem.
SSL 2.0 or 3.0 and these are should also be selected.
Google Chrome-Click "wrench" sign on the tope right of it.Click Options then Under the bonnet in network click Change Proxy Settings and follow the steps above as in Internet Explorer.
If this didn't work try the following steps:
Unhide all the files and folders.
Then go to C:\Windows\System32\drivers\etc\hosts.
Right click on hosts file,then click properties. Then click security tab. After that click edit.
Here,click system and you have to check on allow full control and uncheck deny.
Click OK and then OK.
Now delete the hosts file.
You could read google forum tips from here
or you get all the details solution about err_ssl_protocol_error from here. I hope this will work and fix the error.

Chrome Doesn't Trust Fiddler Root Certificate

I have Fiddler installed on my machine. I have installed the Fiddler Root Certificate to decrypt HTTPS traffic, but it only works in FF and IE, not in chrome. Chrome does not trust Fiddler's certificate and does not allow me to connect to any tunneled connections.
I tried looking on Fiddler2.com's page for a plugin but I don't see anyhing.
I updated Fiddler and ran into a similar issue. This fixed it for me: http://textslashplain.com/2015/10/30/reset-fiddlers-https-certificates/
Fiddler 1.3.0+ (This is the new build and comes after 4.6.1.5+)
Click Settings (the cog in the top right hand corner).
Select the HTTPS tab from the left hand panel
Click Trust root certificate
Accept all prompts
You may need to restart Fiddler
Fiddler 4.6.1.5+
Click Tools > Options.
Click the HTTPS tab.
Ensure that the text says Certificates generated by CertEnroll engine.
(Note: You may notice that it's not possible to change the engine from MakeCert to CertEnroll, in such case restart Fiddler and start from the beginning, it should show CertEnroll then.)
Click Actions > Reset All Certificates. This may take a minute.
Accept all prompts (to remove and re-add certificates)
Fiddler 4.6.1.4 and earlier
Click Tools > Options.
Click the HTTPS tab.
Uncheck the Decrypt HTTPS traffic checkbox.
Click the Remove Interception Certificates button. This may take a minute.
Accept all of the prompts that appear (e.g. Do you want to delete these certificates, etc.)
(Optional) Click the Fiddler.DefaultCertificateProvider link and verify that the dropdown is set to CertEnroll.
Exit and restart Fiddler.
Click Tools > Options.
Click the HTTPS tab.
Re-check the Decrypt HTTPS traffic checkbox.
Accept all of the prompts that appear (e.g. Do you want to trust this root certificate)
I think this is probably just one of many potential solutions for this, but it's coming up as one of the top search results for "your connection is not private fiddler" so I'll add it. Hopefully it'll help anyone else who comes across it.
NOTE: A few people have commented that they needed to restart Fiddler after running the above.
It's also worth checking whether a certificate generator plugin could be to blame.
In my case, Fiddler was using CertMaker.BCCertMaker. After uninstalling, reinstalling and reverting to CertEnroll engine, SSL works again.
Uninstall Fiddler and all its settings.
Install the latest version.
In Confirm Tools -> Telerik Fiddler Options... -> HTTPS, confirm that CertEnroll engine performs certificate generation.
On the same dialog, press Actions -> Reset All Certificates as in Chris's answer, accepting all prompts.
Restart Fiddler.
I was having the same issue with chrome / fiddler on ubuntu 20.04 not trusting the root certificate. I used the below steps to install fiddler - its a beta 'fiddler everywhere' which seems like its missing a few things that were there in windows version but it does work. Im not sure if this depends on (sudo apt install mono-complete). I tried the full version which did require mono so I definitely have that on my system but think mono is broken. Thinking that fiddler everywhere is somehow self contained.
download https://www.telerik.com/fiddler-everywhere/insiders
chmod a+x fiddler-everywhere-insiders.AppImage
./fiddler-everywhere-insiders.AppImage
I exported the certificate from fiddler options/https as crt (extensions for certs are confusing but I think this really is an x509 ssl certificate). To import to chrome I searched settings for 'manage certificates'. There are a bunch of tabs in that section and you have to select the authorities tab. I literally wasted an hour or more because I didn't see the tabs and was trying to import via the default 'your certificates' tab. Once I imported in the right place I was able to browse https traffic and fiddler everywhere could decrypt it.
Adding to the answer by #chris, make sure that you connected your device in my case, my phone, to fiddler after clearing the certificates. Otherwise, it will still have older certificates and will not get new ones.
For "Fiddler Everywhere
download fiddler certificate from http://127.0.0.1:8866/ (when fiddler is running)
go to chrome settings, type "https" to quickly navigate to "Manage Certificates"
go to "Authorities" tab, click "Import" button