c'è un modo per scaricare un php senza che sia eseguito?
<p>recentemente ho ricevuto una mail di phishing di qualità insolitamente scadente; "accedi immediatamente al seguente link, poiché siamo la tua banca, lo sai" -ish. il link punta a un url non convincente con <code>.php</code> alla fine.</p><p>mi chiedevo perché avrebbero potuto usare uno script php invece di falsificare l'aspetto di una determinata pagina e inviare i dati inseriti a un modulo.</p><p>non voglio davvero fare clic sul collegamento per scoprirlo, ma mi piacerebbe sapere cosa sta per fare questo php sta per fare. c'è un modo per scaricare lo script, ad esempio come hai potuto con il javascript lato client?</p><p>o non riesco ad accedere al php, poiché viene eseguito dal server?</p><p>esistono altri modi per analizzare questo file e il suo comportamento senza alcun pericolo?</p>
<p>se il server è configurato correttamente, non è possibile scaricare un php. verrà eseguito quando chiamato tramite il server web. l'unico modo per vedere cosa fa è ottenere l'accesso al server tramite ssh o ftp o qualche altro metodo.</p><p>questo perché php è un linguaggio lato server, tutte le azioni vengono eseguite sul server, quindi <em>il risultato</em> viene inviato al tuo browser (che è <em>client</em> laterale).</p><p>se hai paura di pasticciare con il tuo sistema, puoi usare virtualbox con ubuntu vm e aprire la pagina da lì. se fai un'istantanea del vm = dopo l'installazione e prima di fare cose pericolose, puoi in seguito tornare a quella istantanea e annullare tutto ciò che lo script avrebbe potuto fare sulla vm.</p>
<p>mi sembra rischioso. la compressione http va bene per le risorse statiche, ma per alcune risorse dinamiche servite su ssl, sembra che la compressione http possa essere pericolosa. mi sembra che la compressione http possa, in alcune circostanze, consentire attacchi di tipo crime.</p><p>si consideri un'applicazione web che ha una pagina dinamica con le seguenti caratteristiche:</p><ol> <li> <p>viene servito su https.</p> </li> <li> <p>la compressione http è supportata dal server (questa pagina verrà inviata al browser in forma compressa, se il browser supporta la compressione http).</p> </li> <li> <p>la pagina ha un token csrf su di essa da qualche parte. il token csrf è stato risolto per la durata della sessione (diciamo). questo è il segreto che l'attacco proverà ad imparare.</p> </li> <li> <p>la pagina contiene alcuni contenuti dinamici che possono essere specificati dall'utente. per semplicità, supponiamo che ci sia qualche parametro url che viene ripetuto direttamente nella pagina (forse con un po 'di escape html applicato per impedire xss, ma va bene e non scoraggerà l'attacco descritto).</p> </li> </ol><p>quindi penso che gli attacchi in stile crime potrebbero consentire a un utente malintenzionato di apprendere il token csrf e montare attacchi csrf sul sito web.</p><p>lasciami fare un esempio. supponiamo che l'applicazione web di destinazione sia un sito web bancario su <code>www.bank.com</code> e la pagina vulnerabile è <code>https://www.bank.com/buggypage.html</code>. supponiamo che la banca assicuri che le attività bancarie siano accessibili solo tramite ssl (https). e supponiamo che se il browser visita <code>https://www.bank.com/buggypage.html?name=d.w.</code>, quindi il server risponderà con un documento html simile a qualcosa di vagamente simile a questo:</p><pre><code>&lt;html&gt;...&lt;body&gt; hi, d.w.! pleasure to see you again. some actions you can take: &lt;a href="/closeacct&amp;csrftoken=29238091"&gt;close my account&lt;/a&gt;, &lt;a href="/viewbalance&amp;csrftoken=..."&gt;view my balance&lt;/a&gt;, ... &lt;/body&gt;&lt;/html&gt; </code></pre><p>supponiamo che tu stia navigando sul web tramite una connessione wifi aperta, in modo che un utente malintenzionato possa intercettare tutto il traffico di rete. supponiamo che tu sia attualmente connesso alla tua banca, quindi il tuo browser ha una sessione aperta con il sito web della tua banca, ma in realtà non stai effettuando alcuna attività bancaria tramite la connessione wifi aperta. supponiamo inoltre che l'attaccante possa attirarti a visitare il sito web dell'attaccante <code>http://www.evil.com/</code> (ad esempio, magari facendo un attacco man-in-the-middle su di te e reindirizzandoti quando provi a visitare qualche altro sito http).</p><p>quindi, quando il browser visita <code>http://www.evil.com/</code>, quella pagina può attivare richieste tra domini al sito web della tua banca, nel tentativo di apprendere il token csrf segreto. si noti che javascript è autorizzato a effettuare richieste tra domini. la politica della stessa origine impedisce che venga visualizzata la risposta a una richiesta tra domini. tuttavia, poiché l'aggressore può intercettare il traffico di rete, l'attaccante può osservare la lunghezza di tutti i pacchetti crittografati e quindi dedurre qualcosa sulla lunghezza delle risorse che vengono scaricate tramite la connessione ssl alla tua banca.</p><p>in particolare, il maligno <code>http://www.evil.com/</code> page può attivare una richiesta a <code>https://www.bank.com/buggypage.html?name=closeacct&amp;csrftoken=1</code> e guarda come si comprime bene la pagina html risultante (intercettando i pacchetti e osservando la lunghezza del pacchetto ssl dalla banca). successivamente, può attivare una richiesta a <code>https://www.bank.com/buggypage.html?name=closeacct&amp;csrftoken=2</code> e vedi quanto comprime bene la risposta. e così via, per ogni possibilità per la prima cifra del token csrf. uno di questi dovrebbe comprimersi un po 'meglio degli altri: quello in cui la cifra nel parametro url corrisponde al token csrf nella pagina. ciò consente all'attaccante di apprendere la prima cifra del token csrf.</p><p>in questo modo, sembra che l'attaccante possa apprendere ogni cifra del token csrf, recuperandole cifra per cifra, fino a quando l'attaccante apprende l'intero token csrf. quindi, una volta che l'utente malintenzionato conosce il token csrf, può avere la sua pagina dannosa su <code>www.evil.com</code> attiva una richiesta tra domini che contiene il token csrf appropriato, annullando correttamente le protezioni csrf della banca.</p><p>sembra che ciò possa consentire a un utente malintenzionato di montare un attacco csrf riuscito su applicazioni web, quando si applicano le condizioni sopra, se la compressione http è abilitata. l'attacco è possibile perché stiamo mescolando segreti con dati controllati dall'aggressore nello stesso payload, quindi comprimendo e crittografando tale payload.</p><p>se ci sono altri segreti che sono memorizzati in html dinamico, potrei immaginare che attacchi simili potrebbero diventare possibili per imparare quei segreti. questo è solo un esempio del tipo di attacco a cui sto pensando. quindi, mi sembra che l'uso della compressione http su pagine dinamiche a cui si accede tramite https sia un po 'rischioso. potrebbero esserci buoni motivi per disabilitare la compressione http su tutte le risorse offerte su https, ad eccezione di pagine/risorse statiche (ad es. css, javascript).</p> i truffatori si fingono operatori di intesa sanpaolo e mandano un sms per svuotare il conto corrente delle vittime: gli attacchi hacker e le attività di phishing continuano ad aumentare. <p>con<em> inline </em>script come quello che hai citato, è improbabile che ci sia<em> much </em>difference; tuttavia, ogni volta che il parser html del browser incontra un tag <code>script</code>, questo:</p><ul> <li>arresta bruscamente</li> <li>crea una stringa del testo nel tag fino alla prima volta che vede la stringa <code>"&lt;/script&gt;"</code></li> <li>passa il testo all'interprete javascript, ascoltando l'output che l'interprete invia quando si esegue un <code>document.write</code></li> <li>aspetta che l'interprete finisca</li> <li>inserisce l'output accumulato ricevuto nel flusso di analisi</li> <li>continua la sua analisi</li> </ul><p>quindi aumentare il numero di volte che questa sequenza deve verificarsi può, in teoria, aumentare il tempo di caricamento della pagina. influisce anche sul grado in cui il parser può &quot;guardare avanti&quot; nel flusso di token, il che potrebbe renderlo meno efficiente.</p><p>tutto ciò sembra davvero drammatico, ma dovresti profilare una pagina reale nei vari browser che ti interessano per determinare se ha avuto un impatto reale.</p><p>quindi, in sintesi, combinale il più possibile. se non riesci a combinare ragionevolmente una coppia, non preoccuparti troppo fino a quando non vedi un problema del mondo reale.</p><p>quanto sopra è per script in linea. naturalmente, se si hanno diversi tag <code>script</code> che si riferiscono a una serie di file javascript esterni, si avrà anche il problema che ciascuno di questi file deve essere scaricato, e l'avvio di una richiesta http è una cosa costosa (comparativamente) e quindi è meglio , in grande stile, per combinarli in un unico file.</p><p>alcune altre cose da considerare:</p><ul> <li>avere molti tag <code>script</code> sparsi nel tuo codice html può rendere difficile la manutenzione dello script</li> <li>separare il tuo codice html e lo script in file separati ti aiuta a limitare il livello di accoppiamento, aiutando di nuovo la manutenzione</li> <li>mettendo lo script in un file separato, è possibile eseguire quel file tramite minifiers/compressors/packer, riducendo al minimo le dimensioni del codice e rimuovendo commenti, lasciandoti libero di commentare nel codice sorgente sapendo che quei commenti saranno privati</li> <li>mettere gli script in file esterni ti dà l'opportunità di mantenere le cose separate dalla funzionalità, e quindi combinarle in un unico file per la pagina (compresso/minificato/impacchettato) per una consegna efficiente al browser</li> </ul><p>di più:</p><ul> <li> <a href="http://developer.yahoo.com/performance/rules.html">le &quot;migliori pratiche per accelerare il tuo sito web&quot; di yui</a> </li> <li> <a href="http://code.google.com/speed/page-speed/docs/rules\_intro.html">&quot;best practice per le prestazioni web&quot; di google</a> </li> </ul> si chiama codice qr ed è una spece di codice a barre che reindirizza a siti internet. il programma usato per leggerlo spesso si trova integrato nei moderni smartphone: accendi la fotocamera, il cell riconosce il codice grazie ai 3 quadrati ai lati, lo decodifica, e visualizza il sito internet con le varie opzioni (tra cui quella di andarci). si stanno diffondendo molto velocemente grazie alla semplicità d'uso e alla possibilità di mettere link internet in documenti cartacei senza doverli ricopiare a mano per andarci. ora si trovano anche programmi gratuiti per il pc (naturalmente devi avere una webcam).
se vuoi: http://it.wikipedia.org/wiki/codice\_qr

ciao ;) <p>l'uso di <code>dd($form\_state);</code> all'interno della funzione di callback funziona magnificamente.</p><p>su linux puoi <code>tail -f /tmp/drupal-debug.txt</code> per vedere il <code>$form\_state</code> in tempo reale. (o qualunque sia la directory temporanea per il tuo sito impostata, spesso qualcosa come <code>sites/yoursite.com/files/tmp</code>.)</p><p>altrimenti, puoi trovare drupal-debug.txt nella tua directory system/tmp /. <a href="http://ratatosk.net/drupal/tutorials/debugging-drupal.html#dd">http://ratatosk.net/drupal/tutorials/debugging-drupal.html#dd</a> </p> in bocca al lupo...
purtroppo ce ne sono tanti di questi "negozietti", ma ovviamente non sapendo l'url non possiamo darti un giudizio sull'affidabilità o meno.

io di solito quando compro su internet controllo alcune cosette (potrà servirti in futuro);
primo tra tutto controlla la presenza della partita iva sulla home page, la mancanza di tale dato indica che potrebbe trattarsi di un privato o di un qualcuno che effettua il dropship con l'estero (loro accettano gli ordini e rigirano all'estero che si occupa d'inviarti i prodotti; nessuno ti garantisce che la merce superi la dogana o altri imprevisti).
la seconda cosa è i metodi di contatto; se c'è un numero di rete fissa lo cerco su pagine bianche per assicurarmi che corrisponda al negozio.
controllo l'alexa rank (è una classifica a livello mondiale dei siti più visitati al mondo); è ovvio che se questo dato è altissimo o assente, il sito potrebb'esser abbandonato o non curato.
cerco il nome della società su internet alla ricerca di opioni.
e perchè no... una telefonata al numero fisso per assicurarmi che sia esistente.

per la tua situazione: ci sono clausole/obblighi che devono rispettare? nel caso positivo, puoi recedere e farti accreditare il bonifico fatto... ma di sicuro ti faranno aspettare un bel po'.


ciao <p>esistono diversi metodi per ottenere un piano di esecuzione, che uno da utilizzare dipenderà dalle circostanze. in genere è possibile utilizzare sql server management studio per ottenere un piano, tuttavia se per qualche motivo non è possibile eseguire la query in sql server management studio, potrebbe essere utile essere in grado di ottenere un piano tramite sql server profiler o ispezionando la cache del piano.</p><h2>metodo 1: utilizzo di sql server management studio</h2><p>sql server è dotato di un paio di funzionalità intuitive che rendono molto semplice l'acquisizione di un piano di esecuzione, semplicemente assicurati che la voce di menu &quot;includi piano di esecuzione effettivo&quot; (presente nel menu &quot;query&quot;) sia spuntata ed esegui la query come normale .</p><p><img src="https://i.stack.imgur.com/0icgu.png" alt="include action execution plan menu item"></p><p>se si sta tentando di ottenere il piano di esecuzione per le istruzioni in una stored procedure, è necessario eseguire la stored procedure, in questo modo:</p><pre><code>exec p\_example 42 </code></pre><p>una volta completata la tua query, dovresti visualizzare una scheda aggiuntiva intitolata &quot;piano di esecuzione&quot; nel riquadro dei risultati. se hai eseguito molte affermazioni, potresti vedere molti piani visualizzati in questa scheda.</p><p><img src="https://i.stack.imgur.com/ihkoe.png" alt="screenshot of an execution plan"></p><p>da qui è possibile ispezionare il piano di esecuzione in sql server management studio oppure fare clic con il tasto destro del mouse sul piano e selezionare &quot;salva piano di esecuzione con nome ...&quot; per salvare il piano in un file in formato xml.</p><h2>metodo 2 - utilizzo delle opzioni showplan</h2><p>questo metodo è molto simile al metodo 1 (in realtà questo è ciò che sql server management studio esegue internamente), tuttavia l'ho incluso per completezza o se non è disponibile sql server management studio.</p><p>prima di eseguire la query, eseguire <strong>uno</strong>delle seguenti affermazioni. l'istruzione deve essere l'unica dichiarazione nel batch, cioè non è possibile eseguire un'altra istruzione allo stesso tempo:</p><pre><code>set showplan\_text on set showplan\_all on set showplan\_xml on set statistics profile on set statistics xml on -- the is the recommended option to use </code></pre><p>queste sono opzioni di connessione e quindi è necessario eseguirlo solo una volta per connessione. da questo punto in poi tutte le istruzioni eseguite saranno accompagnate da un <strong>set di risultati aggiuntivi</strong>contenente il piano di esecuzione nel formato desiderato - è sufficiente eseguire la query come si farebbe normalmente per vedere il piano.</p><p>una volta che hai finito puoi disattivare questa opzione con la seguente dichiarazione:</p><pre><code>set &lt;&lt;option&gt;&gt; off </code></pre><h3>confronto dei formati del piano di esecuzione</h3><p>a meno che tu non abbia una forte preferenza, la mia raccomandazione è di usare l'opzione <code>statistics xml</code>. questa opzione è equivalente all'opzione &quot;includi piano di esecuzione effettivo&quot; in sql server management studio e fornisce la maggior parte delle informazioni nel formato più conveniente.</p><ul> <li><code>showplan\_text</code>: visualizza un piano di esecuzione stimato basato sul testo base, senza eseguire la query</li> <li><code>showplan\_all</code>: visualizza un piano di esecuzione stimato basato su testo con stime dei costi, senza eseguire la query</li> <li><code>showplan\_xml</code>: visualizza un piano di esecuzione stimato basato su xml con stime dei costi, senza eseguire la query. questo è equivalente all'opzione &quot;visualizza piano di esecuzione stimato ...&quot; in sql server management studio.</li> <li><code>statistics profile</code> - esegue la query e visualizza un piano di esecuzione effettivo basato sul testo.</li> <li><code>statistics xml</code> - esegue la query e visualizza un piano di esecuzione effettivo basato su xml. ciò equivale all'opzione &quot;includi piano di esecuzione effettiva&quot; in sql server management studio.</li> </ul><h2>metodo 3 - utilizzo di sql server profiler</h2><p>se non è possibile eseguire direttamente la query (o la query non viene eseguita lentamente quando viene eseguita direttamente - ricordare che vogliamo un piano di esecuzione della query non valido), è possibile acquisire un piano utilizzando una traccia di sql server profiler. l'idea è di eseguire la tua query mentre è in esecuzione una traccia che sta catturando uno degli eventi &quot;showplan&quot;.</p><p>si noti che a seconda del carico si <strong>può</strong>utilizzare questo metodo in un ambiente di produzione, tuttavia è necessario prestare attenzione. i meccanismi di definizione dei profili di sql server sono progettati per minimizzare l'impatto sul database ma ciò non significa che non be <em>any</em> impatto sulle prestazioni.potresti anche avere problemi nel filtrare e identificare il piano corretto nella tua traccia se il tuo database è in uso intensivo. dovresti ovviamente controllare con il tuo dba per vedere se sono contenti di averlo fatto sul loro prezioso database!</p><ol> <li>aprire sql server profiler e creare una nuova traccia connettendosi al database desiderato rispetto al quale si desidera registrare la traccia.</li> <li>sotto la scheda &quot;selezione eventi&quot; seleziona &quot;mostra tutti gli eventi&quot;, controlla la riga &quot;prestazioni&quot; -&gt; &quot;showplan xml&quot; ed esegui la traccia.</li> <li>mentre la traccia è in esecuzione, fare tutto ciò che è necessario per eseguire la query a esecuzione lenta.</li> <li>attendi il completamento della query e interrompi la traccia.</li> <li>per salvare la traccia, fare clic con il pulsante destro del mouse su xml del piano in sql server profiler e selezionare &quot;estrai dati evento ...&quot; per salvare il piano in file in formato xml.</li> </ol><p>il piano che ottieni è equivalente all'opzione &quot;includi piano di esecuzione effettivo&quot; in sql server management studio.</p><h2>metodo 4 - ispezione della cache delle query</h2><p>se non è possibile eseguire direttamente la query e non è possibile acquisire una traccia di profiler, è comunque possibile ottenere un piano stimato ispezionando la cache del piano di query sql.</p><p>esaminiamo la cache del piano interrogando sql server <a href="http://msdn.microsoft.com/en-us/library/ms188754.aspx">dmvs</a> . la seguente è una query di base che elencherà tutti i piani di query memorizzati nella cache (come xml) insieme al loro testo sql. nella maggior parte dei database sarà necessario aggiungere ulteriori clausole di filtro per filtrare i risultati fino ai soli piani a cui si è interessati.</p><pre><code>select usecounts, cacheobjtype, objtype, text, query\_plan from sys.dm\_exec\_cached\_plans cross apply sys.dm\_exec\_sql\_text(plan\_handle) cross apply sys.dm\_exec\_query\_plan(plan\_handle) </code></pre><p>esegui questa query e fai clic sul piano xml per aprire il piano in una nuova finestra - fai clic con il pulsante destro e seleziona &quot;salva piano di esecuzione come ...&quot; per salvare il piano in file in formato xml.</p><h1>gli appunti:</h1><p>poiché ci sono così tanti fattori coinvolti (che vanno dalla tabella e dallo schema dell'indice fino ai dati archiviati e alle statistiche della tabella) dovresti <strong>sempre</strong>prova ad ottenere un piano di esecuzione dal database che ti interessa (normalmente quello che sta vivendo un problema di prestazioni).</p><p>non è possibile acquisire un piano di esecuzione per le stored procedure crittografate.</p><h2>piani di esecuzione &quot;effettivi&quot; o &quot;stimati&quot;</h2><p>un piano di esecuzione <em>effettivo</em> è uno in cui sql server esegue effettivamente la query, mentre un <em>stimato</em>piano di esecuzione sql server elabora ciò che <em>would</em> fa senza eseguire la query. sebbene logicamente equivalente, un piano di esecuzione reale è molto più utile in quanto contiene ulteriori dettagli e statistiche su ciò che effettivamente è accaduto durante l'esecuzione della query. questo è essenziale quando si diagnosticano problemi in cui le stime di sql server non sono attive (ad esempio quando le statistiche non sono aggiornate).</p><ul> <li> <a href="http://sqlserverpedia.com/blog/sql-server-bloggers/estimated-and-actual-execution-plan-revisited/">piano di esecuzione stimato ed effettivo rivisto</a> </li> </ul><h2>come interpreto un piano di esecuzione della query?</h2><p>questo è un argomento degno di un (gratuito) <a href="https://www.simple-talk.com/books/sql-books/sql-server-execution-plans-second-edition-by-grant-fritchey/">libro</a> a sé stante.</p><h2>guarda anche:</h2><ul> <li> <a href="http://www.simple-talk.com/sql/performance/execution-plan-basics/">basi del piano di esecuzione</a> </li> <li> <a href="http://msdn.microsoft.com/en-us/library/ms178086.aspx">showplan batch di permessi e transact-sql</a> </li> <li> <a href="http://www.dbsnaps.com/sql-server/sql-server-query-hashes/">sql server 2008 - utilizzo degli hash di query e degli hash del piano di query</a> </li> <li> <a href="http://www.mssqltips.com/sqlservertip/1661/analyzing-the-sql-server-plan-cache/">analisi di sql server plan cache</a> </li> </ul> <p>ho usato <a href="http://home.snafu.de/tilman/xenulink.html">xenu's link sleuth</a> . funziona abbastanza bene, assicurati di non dos!</p> le cause sono tantissime,
  
non hai aperto la porta udp quindi non condividi file con membri della rete p2p questo ti assegna un lowID che ti mette in fine alla fila di priorità del download
  
il file che scarichi non ha tanti seeder (la gente sulla rete connessa a questo momento non ha questo file quindi non c'è fonte per scaricare
  
stai scaricando un file non compiuto (non è a 100%) quindi la parte mancante non si compie fino che qualcuno si connette a che possiede il file intero
  
.....
  
come vedi devi controllare tutto ciò e darci più dettagli per potere fissare la causa e risolvere il problema gentile ragazza, la richiesta di effettuare un hpv test dopo un pap test totalmente negativo non è facile da comprendere. forse chi ha effettuato la lettura dell'esame, in considerazione della negatività dello stesso, desiderava escludere, in via di massima certezza, la presenza del virus anche in assenza di lesioni evidenti (cosa che può accadere con una certa frequenza), per poi o indirizzarle verso un vaccino preventivo, oppure permetterle un intervallo di tempo più lungo fra un controllo e l'altro. cordiali saluti piergiorgio biondani.