Documente Academic
Documente Profesional
Documente Cultură
with Fiddler
Să vorbim despre...
Cum am ajuns aici?
A fost odată ca niciodată…
Oh nu! Ce s-a întâmplat?
Trebuie să existe o cale mai bună ...
O idee simplă prinde contur ...
Toate problemele din domeniul
informaticii pot fi rezolvate printr-un alt
nivel de indirectare.
- David Wheeler
Network
Applications Proxy Website
APIs
Doar două probleme
• Nu știu HTTP
• Nu știu C#
Fiddler: Evoluție
Unsprezece ani,
~ 35k linii de C #,
Peste 160 de versiuni de lansare,
o broșură întreagă,
o mutare la Telerik,
și două noi platforme acceptate later…
Un tur rapid prin Fiddler ...
UI Evolution - Lista sesiunilor web
Fiddler în Linux (Mint/Ubuntu)
Fiddler în Mac OSX
• Funcționează, dar, din cauza erorilor de interfață, este mai bine
să folosiți VirtualBox / Parallels / Fusion
Monitorizarea traficului
Architectura tipică
Depanare pe toate dispozitivele
PC
Mac
iOS
Fiddler Internet
Windows/Linux
Tablet
s
Phone
s
Fiddler ca Reverse Proxy
http://fiddler2.com/r/?reverseproxy
Win8/8.1 “Immersive” Apps & IE11
AppContainer blochează conexiunile de rețea „loopback”. În scopuri de depanare, puteți
dezactiva blocarea respectivă.
req.write(‘Post Data\n');
req.end();
Protocoale
HTTPS Decriptare trafic
Din motive de securitate, proxy-urile nu pot „vedea” cererile HTTPS în mod normal. Pentru a activa
decriptarea traficului, Fiddler efectuează un atac „ man-in-the-middle”.
GET
/Fiddler2/Fiddler.css
GET
/Fiddler/images/FiddlerLogo.png
HTML5 WebSockets
WebSocket-urile permit comunicații socket bidirecționale
printr-o conexiune stabilită. Utilizare HTTP sau HTTPS.
FTP
Fiddler acceptă traficul FTP printr-un gateway FTP
încorporat. Proxy-ul FTP este dezactivat implicit.
SPDY / HTTP2
Fiddler recunoaște și etichetează conexiunile SPDY dacă
decriptarea HTTPS este dezactivată..
SPDY / HTTP2
Fiddler nu poate accepta SPDY până când SslStream
de la .NET nu acceptă ALPN. Vă rugăm să votați
pentru eroarea mea pe CONNECT:
https://
connect.microsoft.com/VisualStudio/feedback/ViewF
eedback.aspx?FeedbackID=812003
De asemenea, vă rugăm să votați pentru această altă eroare SslStream: https://
connect.microsoft.com/VisualStudio/feedback/details/811998/system-net-security-sslstream-ca
lls-localcertificateselection-callback-unconditionally-even-if-server-never-sends-certificatereq
uest-tls-message
Protocol Violations
Selectarea traficului
> Utilizarea QuickExec
> Utilizarea Find
Suport pentru expresii regulate
Reformatare SyntaxView
ImageView DataURL Support
Integrarea instrumentelor ImageView
Metadatу & GeoLocatie
HTML5 Media și FontPrevizualizări
X-Download-Initiator
https://fiddler2.com/dl/EnableDownloadInitiator.reg
cols add @request.X-Download-Initiator
Manipularea traficului
Rescrieri automate
Folosiți Fiddler
Inspectors pentru a
modifica cererile și
răspunsurile….
Filtre Simple
Suporturi :
• Autentificare automata
• Încărcări de fișiere
• Redirecționarea urmăririi
• Urmărire URL secvențială
• CURL comenzi
AutoResponder
Redă din nou traficul
capturat sau generat.
FiddlerScript
FiddlerScript - Modificare cerere
static function OnBeforeRequest(oS: Session)
{
if (oS.uriContains(".aspx"))
{
oS["ui-color"] = "red";
}
if (m_DisableCaching)
{
oS.oRequest.headers.Remove("If-None-Match");
oS.oRequest.headers.Remove("If-Modified-Since");
oS.oRequest["Pragma"] = "no-cache";
}
}
FiddlerScript - Modificarea răspunsului
static function
OnBeforeResponse(oS: Session) {
oS.utilDecodeResponse();
oS.utilPrependToResponseBody(
"Injected Content!");
}
Powerups
Înțelegerea extensibilității
Fiecare componentă roșie este codul tău ...
Fiddler.exe
Inspector2
ExecAction.ex
Script / Batch
Inspector2
IFiddlerExtension
file
e IFiddlerExtension
Fiddler ScriptEngine
Your FiddlerScript
FiddlerCore
Xceed*.dll Makecert.exe
Înțelegerea extensibilității interfeței de utilizare
1. RulesOptions
2. ToolsActions
3. Custom menus
4. Custom columns
5. ContextActions
6. QuickExec handlers
7. Views
8. Request Inspectors
9. Response Inspectors
10.Import & Export Transcoders
Type-specific Inspectors
Expert Perf Analysis with neXpert
intruder21 Web Fuzzer
• By yamagata21
Watcher & x5s Security Auditors
http://websecuritytool.codeplex.com/ http
://xss.codeplex.com/
WCF Binary Inspector
Integrarea
ExecAction.exe
• Apeluri la OnExecAction în script sau extensii
• Alternativ, invocați direct trimițând un mesaj Windows :
oCDS.dwData = 61181; // Magic Cookie
oCDS.cbData = lstrlen(wzData * sizeof(WCHAR));
oCDS.lpData = wzData;
SendMessage(
FindWindow(NULL, "Fiddler - HTTP Debugging Proxy"),
WM_COPYDATA,
NULL,
(LPARAM) &oCDS
);
Aplicație Fiddler cu extensii Găzduirea aplicației dvs.
FiddlerCore
Fiddler.exe
Inspector2 YourApp.exe
ExecAction.ex
Inspector2
IFiddlerExtension
e
IFiddlerExtension
Fiddler ScriptEngine
Your FiddlerScript
FiddlerCore FiddlerCore
Fiddler.FiddlerApplication.BeforeResponse +=
delegate(Fiddler.Session oS) {
Console.WriteLine("{0}:HTTP/{1} for {2}", oS.id,
oS.responseCode, oS.fullUrl);
};