Hello,
I've been using Fiddler to debug iOS and Android mobile apps for a while on multiple devices. recently, some Apple phones have been automatically updated to the version 10.3. Since then, i can't see any data in Fiddler. Does anyone have the same problem? Is there a workaround?
thanks!
Hello everyone! I need help. I have this request:
POST https://site/request HTTP/1.1
Host: site
Accept-Language: en-us
X-OQUE-4LM: AQAGMvxvDIIUBF+WCuq5NR+yUKs2RLd2ujdnK3euSZhfYmfEAfz2j4+uSblhagtKNuPv
User-Agent: VerifiedApp/5.11.0
Accept: */*
Content-Type: application/x-www-form-urlencoded
SECURITY-USERID: site.com
DATA-FORMAT: NV
RESPONSE-DATA-FORMAT: NV
VERSION: 1.0.0
Connection: keep-alive
Proxy-Connection: keep-alive
Content-Length: 2071
Accept-Encoding: gzip
appGuid=fa8d329215c192d350790b80010063e1&libraryVersion=Dyson/3.5.7 (iOS 9.3.1)&additionalData=%7B%22app_version%22%3A%225.11.0%22%2C%22comp_version%22%3A%223.5.7%22%2C%22locale_lang%22%3A%22en%22%2C%22is_emulator%22%3Afalse%2C%22timestamp%22%3A1498862545599%2C%22ip_addrs%22%3A%22192.168.1.235%22%2C%22linker_id%22%3A%2236867603-6174-40b8-8d60-f00cdd090b57%22%2C%22vendor_identifier%22%3A%2285E52684-7B9B-40C8-8149-3AF751613F33%22%2C%22conf_url%22%3A%22https%3A%5C%2F%5C%2Fwww.siteobjects.com%5C%2Fwebstatic%5C%2Frisk%5C%2Fdyson_config_ios_v4.json%22%2C%22proxy_setting%22%3A%22host%3D192.168.1.242%2Cport%3D8888%2Ctype%3DkCFProxyTypeHTTPS%22%2C%22notif_token%22%3A%22%22%2C%22os_type%22%3A%22iOS%22%2C%22os_version%22%3A%229.3.1%22%2C%22location_auth_status%22%3A%22unknown%22%2C%22pin_lock_last_timestamp%22%3A1498861777904%2C%22pm%22%3A%222d935eb9%22%2C%22sms_enabled%22%3Afalse%2C%22conf_version%22%3A%224.0%22%2C%22payload_type%22%3A%22full%22%2C%22source_app%22%3A11%2C%22app_guid%22%3A%22fa8d329215c192d350790b80010063e1%22%2C%22ds%22%3Atrue%2C%22ip_addresses%22%3A%5B%22%3A%3A1%22%2C%22127.0.0.1%22%2C%22fe80%3A%3A1%22%2C%22fe80%3A%3A41d%3A305e%3A330%3Aecd8%22%2C%22192.168.1.235%22%2C%22fe80%3A%3A3c3b%3A43ff%3Afebe%3A9635%22%5D%2C%22dc_id%22%3A%22e421ce595d27c33a4912dc014213ecbd%22%2C%22tz%22%3A-14400000%2C%22device_model%22%3A%22iPad%20Mini%28WiFi%29%22%2C%22cloud_identifier%22%3A%22f08e9cc8-0f01-42b9-abe7-41d90a64136a%22%2C%22risk_comp_session_id%22%3A%229db8ae3b-d2d2-44ec-bea7-7b4d075825d4%22%2C%22device_name%22%3A%22Jammie%20Markos%22%2C%22local_identifier%22%3A%22a63bbdf6-eae5-4602-857b-4c89eae609b3%22%2C%22is_rooted%22%3Atrue%2C%22total_storage_space%22%3A%2213641986048%22%2C%22source_app_version%22%3A%225.11.0%22%2C%22pairing_id%22%3A%22c8595132fd344f9e9fb24b4a1374f7fa%22%2C%22ssid%22%3A%22default89%22%2C%22app_id%22%3A%22com.xcom.iphone%22%2C%22tz_name%22%3A%22America%5C%2FNew_York%22%2C%22conn_type%22%3A%22unknown%22%2C%22bssid%22%3A%225c%3Ad9%3A98%3Ae7%3Ac7%3A34%22%2C%22email_configured%22%3Atrue%2C%22locale_country%22%3A%22US%22%7D
i
I need to change this parameters, like:
is_rooted%22%3Atrue into is_rooted%22%3Afalse
I'l try use this:
if (oSession.PathAndQuery("sitel.com:443")){
oSession["ui-backcolor"] = "lime";
oSession.utilDecodeResponse();
oSession.utilReplaceInResponse('is_rooted%22%3Atrue','is_rooted%22%3Afalse');
}
But it's not work.
Regards, Ruslan.
When I capture a request, it's a Fiddler.Session object.
I've been searching this object for hours now, and I can't find the Request Payload.
I have searched through all properties, maybe I skipped something, but I can't find it. I searched more RequestBody and RequestHeaders without success.
So is it even possible with this object to access Request Payload?
I am trying to use fiddler as a proxy for my java application that uses HTTPS connection. I had enabled proxy settings(HTTPS&Connections) on Fiddler and exported the Fiddler ROOT certificate successfully to my java keystore(cacerts). However when I run my application it is throwing following error:
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<
br
>at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)<
br
>at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1908)<
br
>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:293)<
br
>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:287)<
br
>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1333)<
br
>at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)<
br
>at sun.security.ssl.Handshaker.processLoop(Handshaker.java:906)<
br
>at sun.security.ssl.Handshaker.process_record(Handshaker.java:841)<
br
>at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)<
br
>at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1334)<
br
>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1362)<
br
>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1346)<
br
>at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)<
br
>at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)<
br
>at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1454)<
br
>at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1382)<
br
>at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)<
br
>at com.teknowmics.jcloudplugin.FiddlerConnectorTest.main(FiddlerConnectorTest.java:36)<
br
>Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<
br
>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)<
br
>at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)<
br
>at sun.security.validator.Validator.validate(Validator.java:260)<
br
>at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)<
br
>at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)<
br
>at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)<
br
>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1315)<
br
>... 13 more<
br
>Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<
br
>at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:144)<
br
>at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:130)<
br
>at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)<
br
>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)<
br
>... 19 more
Sample code I used:
public static void main(String args[]) throws MalformedURLException, IOException {<
br
> System.setProperty("https.proxySet","true");<
br
> System.setProperty("https.proxyHost", "127.0.0.1");<
br
> System.setProperty("https.proxyPort", "8888");<
br
> System.setProperty("javax.net.ssl.trustStore", "d:\\SmartDocs\\installed\\jdk1.8.0Lambda\\jre\\lib\\security\\cacerts");<
br
> System.setProperty("javax.net.ssl.trustStorePassword", "changeit");<
br
> System.out.println("Trust store:"+System.getProperty("javax.net.ssl.trustStore"));<
br
> System.out.println("Trust store pwd:"+System.getProperty("javax.net.ssl.trustStorePassword"));<
br
> String https_url = "https://stackoverflow.com/questions/499591/are-https-urls-encrypted";<
br
> URL url;<
br
> url = new URL(https_url);<
br
> HttpsURLConnection con = (HttpsURLConnection) url.openConnection();<
br
> if(con!=null){<
br
> System.out.println("****** Content of the URL ********");<
br
> BufferedReader br =new BufferedReader(new InputStreamReader(con.getInputStream()));<
br
> String input;<
br
> while ((input = br.readLine()) != null){<
br
> System.out.println(input);<
br
> }<
br
> br.close();<
br
> }<
br
> }<
br
>
Hi all,
I'm trying to an auto responder for any url and contains two words in the body. I am using the following, but it never works :-(
URLWithBody:regex:.* regex:assignRequest.*127
Here i am expecting any body request containing assignRequest and 127 (order doesn't matter) to auto respond but it doesn't work I've also tried other combinations without success
it works if i just use one word, but not two.
Regards
Chris
I know it uses Jscript.NET but is there some special context it runs within (and is documented somewhere) that would prevent me from instantiating a Form to input a string, select from a radio button group, etc? Or is a different file supposed to be edited?
When I try to add the following to CustomRules.js in the ScriptEditor, it says "ERROR LINE --> MyForm myform = new MyForm() - The list of attributes does not apply to the current context" when I save the script.
Here is the Form class I am trying to use to make a dialog:
import System.Windows.Forms;
import System.ComponentModel;
import System.Drawing;
class
MyForm extends System.Windows.Forms.Form {
// declare variables
private
var label1: Label;
private
var textBox1: TextBox;
private
var button1: Button;
private
var panel1: Panel;
// constructor
function MyForm() {
//SuspendLayout(); // suspend layout events
// label, size, and center form
Text=
"Resize Me!"
;
ClientSize=
new
System.Drawing.Size(300,300);
StartPosition= System.Windows.Forms.FormStartPosition.CenterScreen;
// create a label
label1=
new
Label;
label1.Location=
new
Point(10,10);
label1.Size=
new
System.Drawing.Size(80,20);
label1.Name=
"label1"
;
label1.Text=
"Label"
;
label1.Anchor= AnchorStyles.Left;
// create a TextBox
textBox1 =
new
TextBox;
textBox1.Location=
new
Point(10,30);
textBox1.Size =
new
System.Drawing.Size(80,20);
textBox1.Name=
"textBox1"
;
textBox1.Text =
"Hello World"
;
textBox1.Anchor= AnchorStyles.Left;
// create a Button
button1=
new
Button;
button1.Location=
new
Point(200,240);
button1.Size=
new
System.Drawing.Size(80,20);
button1.Name=
"button1"
;
button1.Text=
"Button"
;
button1.Anchor= AnchorStyles.Right | AnchorStyles.Bottom;
// create a Panel
panel1=
new
Panel;
panel1.Location=
new
Point(0,0);
panel1.Size=
new
System.Drawing.Size(300,300);
panel1.Name=
"panel1"
;
// resize panel on resize form
panel1.Anchor= AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
// add controls to the panel
panel1.Controls.Add(label1);
panel1.Controls.Add(textBox1);
panel1.Controls.Add(button1);
// add panel to form
this
.Controls.Add(panel1);
//ResumeLayout(); // resume layout events
}
// end_constructor
}
// end_class
class
Handlers {
...
static
function BeforeTestList(arrSess: Session[]): boolean
{
MyForm myform =
new
MyForm();
myform.ShowDialog();
return
true
;
// Test should proceed; return false to cancel
}
}
Using the Python requests library, I can do something like this:
and Fiddler will detect the web request just fine. However, if I use a prepared request like so:
<p>session
=
requests.Session()<
/
p><p>request
=
requests.Request(
"POST"
,
"https://testurl"
, ...)<
/
p><p>session.prepare_request(request)<
/
p><p>session.send(prepared, verify
=
false)<
/
p><p><
/
p>
the sent web request does not show up in the session list in Fiddler. I've confirmed that the request is getting sent and receiving a response through the Python script, but for some reason it's not showing up in Fiddler. Any ideas? I don't have any filters or rules enabled.
I know Fiddler (which is awesome by the way) can server a certificate upon request from the server; however, I'm trying to debug what type of filters the 3rd party server (we don't have access to it) is trying to request.
In the connect request/response I don't ever see an actual CertificateRequest although I some information about the connect, and that Fiddler handled some items in that TLS handshake, just not about a certificate request from the server for the client...
Is this something just not possible with Fiddler and I need to wireshark this?
Cheers!
I'm wondering when FiddlerHook will be released as a signed add-on for Firefox.
Mozilla has announced that in the near future, unsigned add-ons will no longer be alllowed to run.