2012-10-17 6 views
23

Czy możliwe jest tymczasowe wyłączenie ochrony XSS w nowoczesnych przeglądarkach w celach testowych?Jak tymczasowo wyłączyć ochronę XSS w nowoczesnych przeglądarkach do testowania?

Próbuję wyjaśnić współpracownika co się dzieje, gdy ktoś wysyła to do XSS-wrażliwego formularza internetowego:

<script>alert("Danger");</script> 

Jednak wydaje się, że zarówno Chrome i Firefox są zapobiegając okienko XSS . Czy mogę wyłączyć tę ochronę, aby móc w pełni zobaczyć wyniki moich działań?

+2

Nie sądzę, każda przeglądarka zablokuje ten scenariusz w przypadku, gdy podawane jest naprawdę jako część html wysyłana z serwera. – Delta

+3

@Delta przeglądarka zwykle blokuje ją, jeśli została wysłana przez użytkownika, a także zwrócona przez serwer, a nie, jeśli jest właśnie wysyłana z serwera. na przykład 'MyPage.aspx? Id =

16

Dla wygody tych, którzy nie wiedzą ....

„C: Program Files \ (x86) \ Google \ Chrome \ Application \ chrome.exe”--args --disable-Web-security

użyć powyższego jako ścieżkę skrótu

+6

To będzie działać tylko wtedy, gdy wszystkie wystąpienia chrome zostaną zamknięte przed uruchomieniem chrome za pomocą tych poleceń. Zobacz http://stackoverflow.com/questions/17679399/does-disable-web-security-work-in-chrome-anymore – Timo002

4

Jeśli tylko wan't wyłączyć XSS należy użyć --disable-xss-auditor. Kompletny argumentem byłoby coś jak:

"C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-XSS-rewident

Upewnij wszystkie procesy chrome.exe zostają zabite przed uruchomieniem polecenia lub nie będą działać. Możesz także przekazać więcej argumentów, jeśli chcesz, na przykład często używam argumentu proxy, ponieważ nie chcę włączać proxy dla całego mojego systemu.

"C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-XSS-rewidenta --proxy-server = 127.0.0.1: 8080

-8

Nie trzeba wyłączać ochrony XSS.

Jeśli nie możesz załadować strony, dzieje się tak, ponieważ Twoje "testy" wykryły usterkę, którą musisz naprawić.

Jeśli nie masz żadnych błędów na swojej stronie, nie będziesz zablokowany przez XSS.

Napraw kod HTML, aby poprawnie "wymknął" wszystkie dane wejściowe z adresu URL i nie zobaczysz ostrzeżeń XSS.

Lepiej tego nie wyłączać, ponieważ lepiej jest przeglądać w kodzie źródłowym HTML tych błędów niż twoje gałki oczne!

+1

Czasami trzeba debugować stronę i po prostu chcieć ją tymczasowo wyłączyć, o to pytał autor –

-1

Wiem, że to nie naprawi, ale może potrzebować tylko wiadomości na stronach, dopóki Google go nie naprawi. coś w stylu "Jeśli korzystasz z Chrome, możesz doświadczyć ....". Zauważyłem, że mimo tego pojawia się ekran błędu, że zawartość faktycznie trafia do bazy danych. Właśnie wróciłem, aby wrócić na stronę. Następnie przejdź do pulpitu nawigacyjnego i tam jest. Ból w dupie, ale jest pracą, która nie wymaga ponownego ustawienia stron.

0

Czy użycie argumentu wyłączenia jest tymczasowe? W ograniczonych testach wydaje się trwały.XSS-Auditor pozostaje wyłączony w oknach Chrome uruchomionych bez argumentu xss-auditor. Aby powrócić, użyj "C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" --enable-xss-auditor

2

Możesz przekierować użytkownika na inną lokalną stronę internetową, gdy formularz jest złożyć i wydrukować zainfekowane dane. Chrome tego nie wykryje.

Wskazówka: Możesz użyć sesji/plików cookie do przechowywania zainfekowanych danych pomiędzy 2 stronami.

Przykład w PHP:

index.php

<?php  
    setcookie('infected', $_POST['infected']); 

    if($_POST['infected']) 
     header('location: show.php'); 
?> 

<form action="index.php" method="POST" /> 
    <p> 
     Username: <input type="text" name="infected" /> 
     <input type="submit" value="Add Comment" /> 
    </p> 
</form> 

show.php

echo $_COOKIE['data'];