Conoscete qualche software per crawler / spider, che è in grado di passare attraverso un sito ASP.NET?

4

Conosci qualche software crawler / spider, che è in grado di passare attraverso l'applicazione ASP.NET, non ASP.NET MVC, ma quello completo di funzioni JavaScript __doPostBack su ogni link / pulsante / cambia evento?

Se non esiste un'applicazione di questo tipo - come si inizia a ispezionare i siti Web ASP.NET? Il mio approccio è di solito cercare tutti i file * .aspx nella cartella dell'applicazione e controllare uno a uno se è possibile raggiungere la pagina senza parametri o cercare di raggiungerla tramite la GUI del sito Web, che è un killer in tempo reale. / p>     

posta bretik 12.11.2010 - 06:29
fonte

2 risposte

4

I link JavaScript sono un vero problema per lo spidering automatico. Personalmente tendo a utilizzare Burp suite e manualmente creo un elenco di pagine navigando nel sito, e poi utilizzo la scansione pagina per pagina.

In teoria il modo per farlo sarebbe usare uno spider che si affidi al motore del browser stesso per fare lo spidering (quindi alcuni degli strumenti che "guidano" un browser potrebbero essere utili).

Un'altra opzione sarebbe quella di ottenere un motore di analisi JavaScript disponibile nel tuo linguaggio di programmazione. Una cosa che ho visto che potrebbe essere utile su questo fronte è questo progetto di < a href="https://github.com/cowboyd/therubyracer"> rubyracer , che consente l'accesso a un motore di analisi JavaScript dall'interno di ruby. Non l'ho provato, ma stavo pensando che potrebbe essere possibile usare qualcosa del genere per valutare JavaScript sugli invii di moduli e estrarre l'URL appropriato per lo spider da cui partire.

    
risposta data 12.11.2010 - 11:36
fonte
0

Gli ingegneri / tester della qualità del software non si affidano a crawler e spider per testare i loro bug - Non credo che i tecnici / i tester della sicurezza delle applicazioni debbano o ...

Al contrario, gli SQE fanno molto affidamento sui framework di test di sviluppo (o sui cablaggi di test) come Selenium RC / Bromine, Watir / WatiN / Watij, Sahi, HtmlUnit o WebDriver. Alcuni scelgono strumenti QA commerciali di fascia alta come HP QTP, IBM Rational Functional Tester, TestComplete e VisualStudio Tester Edition 2010.

Gli SQE in genere non automatizzano l'esercizio di un'app per il flusso di esecuzione perché:

  • I test richiedono una scoperta esplorativa, come farebbe un turista in una nuova città in cui non sono mai stati, per trarre conclusioni e determinare i risultati, soprattutto se in orario (che sono molti tester)
  • Concetti come la classificazione di equivalenza possono far risparmiare ore di lavoro ai tester senza dover ripetere gli stessi errori più e più volte. I test di sicurezza sono un po 'diversi in quanto dobbiamo testare tutto, ma certamente non lo facciamo oggi e potremmo utilizzare questa tecnica, specialmente quando il time-boxing

Il problema dell'automazione dei test è che le app cambiano rapidamente e il cablaggio di test deve essere continuamente modificato per tenere il passo con queste modifiche. Nelle metodologie Agile come ICONIX, i test di robustezza sono generati dal codice di modelli di dominio e diagrammi di sequenza (di solito in UML), ma certamente ci sono molti modi per automatizzare la ricostruzione dei casi di test durante il codice churn e nuove build, tuttavia questo più che spesso probabilmente non richiede metaprogrammazione.

    
risposta data 14.11.2010 - 15:45
fonte