Ho BurpSuite configurato come proxy. Ho generato e installato un certificato per Burp nel portachiavi del mio Mac. Su una scatola di Kali ho anche configurato Iceweasel per il proxy attraverso il mio Burp Proxy in esecuzione sul mio Mac. Posso navigare da Kali a entrambi i siti http e https e Burp intercetta le richieste. Li inoltro attraverso e confermare le eccezioni di sicurezza e il browser visualizza infine le pagine web.
Dalla riga di comando di Kali ho esportato le seguenti due variabili
export http_proxy=http://172.xx.yy.z:8081
export https_proxy=http://172.xx.yy.z:8081
Ho scritto uno script python:
(env) ojblass@kali:~/effective_python$ cat ojblass_urllib_http.py
import urllib
url = urllib.urlopen("http://www.hotmail.com")
data = url.read()
print data
Questo colpisce correttamente il proxy BurpSuite; tuttavia, quando tento di eseguire il traffico https attraverso la richiesta non viene intercettato:
(env) ojblass@kali:~/effective_python$ cat ojblass_urllib_https.py
import urllib
url = urllib.urlopen("https://mail.live.com/default.aspx")
data = url.read()
print data
Viene stampato invece il seguente errore:
<html><head><title>Burp Suite Professional</title>
<style type="text/css">
body { background: #dedede; font-family: Arial, sans-serif; color: #404042; -webkit-font-smoothing: antialiased; }
#container { padding: 0 15px; margin: 10px auto; background-color: #ffffff; }
a { word-wrap: break-word; }
a:link, a:visited { color: #e06228; text-decoration: none; }
a:hover, a:active { color: #404042; text-decoration: underline; }
h1 { font-size: 1.6em; line-height: 1.2em; font-weight: normal; color: #404042; }
h2 { font-size: 1.3em; line-height: 1.2em; padding: 0; margin: 0.8em 0 0.3em 0; font-weight: normal; color: #404042;}
.title, .navbar { color: #ffffff; background: #e06228; padding: 10px 15px; margin: 0 -15px 10px -15px; overflow: hidden; }
.title h1 { color: #ffffff; padding: 0; margin: 0; font-size: 1.8em; }
div.navbar {position: absolute; top: 18px; right: 25px;}div.navbar ul {list-style-type: none; margin: 0; padding: 0;}
div.navbar li {display: inline; margi-left: 20px;}
div.navbar a {color: white; padding: 10px}
div.navbar a:hover, div.navbar a:active {text-decoration: none; background: #404042;}
</style>
</head>
<body>
<div id="container">
<div class="title"><h1>Burp Suite Professional</h1></div>
<h1>Error</h1><p>Invalid client request received: First line of request did not contain an absolute URL - try enabling invisible proxy support.</p>
<div class="request">GET https://mail.live.com/default.aspx HTTP/1.0<br>
User-Agent: Python-urllib/1.17<br>
Accept: */*<br>
<br>
</div><p> </p>
</div>
</body>
</html>
Il contenuto principale degli stati di errore "Richiesta client non valida ricevuta. La prima riga della richiesta non conteneva un URL assoluto. Ho cercato su Google questo errore ma tutto ciò che sembra non sembra rilevante. Sono nuovo di questo e apprezzerei qualsiasi intuizione che potresti avere.