UBB 의 크로스 스 크 립 트 공격 종합 편 연구

최근 일부 사이트 에 UBB 의 크로스 스 크 립 트 공격 의 구멍 이 존재 하 는 것 을 발 견 했 습 니 다.크로스 스 크 립 트 공격 은 서버 에 큰 영향 을 미 치 는 경 우 는 드 물 지만 한 사이트 에 이런 구멍 이 존재 하 는 것 은 정말 가치 가 없습니다!소 칙 아,뭘 좀 튕 겨 라.홈 페이지 를 고 칩 니 다.다시 한 번 사용자 의 COOKIES 자 료 를 훔 치면 더 심 한 것 은 G 가 조회 자의 하 드 디스크 를 떨 어 뜨 릴 것 이다.한 사이트 가 악성 사이트 로 변 했 는데 누가 감히 올 수 있 겠 는가?게다가 이 역 의 역장 이 좀 맹인 이 라면,어찌 난 장 판이 아니 겠 는가?  작은 코드 하나 가 정말 한 사 이 트 를 이렇게 만 들 수 있 습 니까?이른바 크로스 스 크 립 트 공격 이 어떤 공격 모드 가 될 지 구체 적 으로 살 펴 보 자.UBB 기능 을 포함 하 는 사이트 에 들 어가 자.예 를 들 어 게시판,게시판,또는 제출 프로그램 을 포함 하 는 사이트.먼저,가장 간단 한 스 크 립 트 공격 에 대해 이야기 하 자.등 HTML 문자 의 필터 문제.  CGI 제작 사이트 에 로그 인 한 적 이 있 습 니 다.원래 ASP 의 눈 으로 CGI 사 이 트 를 보 니 CGI 가 스 크 립 트 에 대한 필터 가 좋 을 것 같 습 니 다.그래서 최초의 테스트 를 했 습 니 다.사용자 란 에,사용자 등록 을 제출 한 후에 불법 문 자 를 제시 하지 않 은 것 을 발 견 했 습 니 다.등록 이 완료 되면 자 료 를 클릭 해도 페이지 가 변 형 된 것 을 발견 할 수 있 습 니 다.만약 다른 몇 개의 국가,성별 에 도 같은 문제 가 발생 하면 페이지 를 볼 수 없습니다.그래서 사이트 가 바 뀌 었 습 니 다.다시불법 문자 알림 이 나 왔 습 니 다.사이트 가 걸 러 진<>등 HTML 스 크 립 트 문자 인 것 같 습 니 다.좋 습 니 다.ASCII 로 바 꾸 겠 습 니 다. 코드 교체<> 가령 #60; & #62;제출 을 대체 한 후에 다시 보면 위의 페이지 가 변형 되 는 상황 이 발생 했 는데 불법 여과 메커니즘 이 아직 완선 되 지 않 은 것 같다. 더 심 한 것 은 한 사이트 의 이름 표시 줄 을 작성 할 때 글자 크기 설정 이 없고 불법 문 자 를 걸 러 내지 않 은 것 을 발 견 했 습 니 다.만약 에 제 가 악성 코드 를 제출 하면 저 는 완성 되 지 않 습 니까?  간단 한 스 크 립 트 공격 예HTML 형식의 코드 는 반드시 잘 걸 러 야 합 니 다.위의 일부 사이트 들 은 UBB 와 관련 되 지 않 았 는데 문제 가 생 겼 습 니 다.그러면 UBB 가 구멍 을 걸 러 내 는 문 제 를 중점적으로 이야기 하 겠 습 니 다.UBB 는 포럼 에서 HTML 편집 을 대체 하 는 형식 기호 입 니 다.예 를 들 어[b] ][/b ]HTML 의< b>...................................................................................  초급 문제: [url ]의 필터,이 코드 를 제출 할 때 onmouseover 함수 의 악성 코드 를 구축 할 수 있 습 니 다.onmouseover 가 유효 하 다 면 어떻게 할 수 없 습 니까?일부 원본 프로그램 이[url]을 바 꾸 고 있 습 니 다. ][/url ]url ]s2[/ url]의 s2 를< a href="s2" target=_blank>S2이렇게 바 뀌 는 걸 보면 저 희 는 그 에 맞 는 ASCII 를 사용 할 수 있 습 니 다. 코드 중의& #34;",우 리 는 하 나 를 더 제출 하고 onmouseover 함 수 를 구축 하여 조작 합 니 다.결 과 는?"너 는 알 아야 한다!:P       [img ]의 필터,이것 은 정말 어 려 운 문제 라 고 할 수 있 습 니 다.아주 오래 전부터[img]의 스 크 립 트 공격 이 유행 하 였 습 니 다.이번 테스트 에서 많은 사이트 들 이 여전히 이 구멍 이 존재 합 니 다.일부 프로그램 은 전혀 걸 러 지지 않 았 습 니 다.특히 일부 무료 게시판 의 제공 사이트 에는 이러한 문제 가 많이 존재 합 니 다.다음은[IMG]를 살 펴 보 겠 습 니 다. ]질문  간단 하 다 ]javascript:alert();[/ img]제출 후 변 환 된 코드 는< img src="javascript:alert();">,자,여기까지 자바 script:alert()를 볼 수 있 습 니 다.피< img src="">탭 이 활성화 되 었 습 니 다.팝 업 대화 상자 입 니 다.()에 제출 할 것 이 라 고 쓰 여 있 습 니 다.예 를 들 어 documents.cookie 하하..대부분의 사람들 은 이 물건 이 무엇 을 하 는 지 알 아야 한다.더 심 한 것 은 document.write()를 사용한다.함수,웹 페이지 를 쓸 수 있 습 니 다.무엇 을 쓰 시 겠 습 니까?악성 코드 img]javascript:document.write();[ /img].()중간 에 네가 넣 을 것 을 넣 고 네가 쓰 고 싶 은 것 을 쓰 면 위험 하 다.  질문 때문에 ]초급 문제 가 많은 사이트 에서 민감 한 문 자 를 걸 러 내기 시작 합 니 다.예 를 들 어 ja 연결,do 연결,wr 연결,제출 후 자동 으로 j 로 나 뉜 다. a,d o,w r.또는 문자 에 대해 자바,document 등 을 걸 러 냅 니 다.이 는 일부분 만 어렵 게 할 수 있 습 니 다.우 리 는 여전히 ASCII 코드 를 이용 하여 대체 할 수 있 습 니 다.대 체 된 코드 가 정상적으로 표시 되 지 않 아 곤 혹 스 러 울 수도 있 습 니 다.자,다음 의 완전한 예 로 소개 하 겠 습 니 다.  어떤 사이트 의 UBB 필터 코드 세그먼트 는 다음 과 같 습 니 다. 
  <%    Function code_ssstrers)    dim strer:strer=strers    if strer="" or isnull(strer) then code_ss"":exit function       strer=replace(strer,"<","<")    strer=replace(strer,">",">")    strer=replace(strer," "," ") '스페이스 바    strer=replace(strer,CHR(9)," ") 'table    strer=replace(strer,"'","'") '작은 따옴표    strer=replace(strer,"""",""") '작은 따옴표       dim re,re_v    re_v="[^\(\)\;\';""\[]*"    're_v=".[^\[]*"    Set re=new RegExp    re.IgnoreCase =True    re.Global=True       re.Pattern="(javascript:)"    strer=re.Replace(strer,"javascript:")    re.Pattern="(javascript)"    strer=re.Replace(strer,"javascript")    re.Pattern="(jscript:)"    strer=re.Replace(strer,"jscript :")    re.Pattern="(js:)"    strer=re.Replace(strer,"js:")    re.Pattern="(value)"    strer=re.Replace(strer,"value")    re.Pattern="(about:)"    strer=re.Replace(strer,"about:")    re.Pattern="(file:)"    strer=re.Replace(strer,"file&:")    re.Pattern="(document.)"    strer=re.Replace(strer,"document :")    re.Pattern="(vbscript:)"    strer=re.Replace(strer,"vbscript :")    re.Pattern="(vbs:)"    strer=re.Replace(strer,"vbs :")    re.Pattern="(on(mouse|exit|error|click|key))"    strer=re.Replace(strer,"on$2")  ASP 의 친 구 를 알 아 볼 수 있 습 니 다.상기 코드 세그먼트 가 자바 script,jscript:,js:,about 에 대한 것 을 알 수 있 습 니 다.value,document.,onmouse,onexit 등 문 구 를 여과 하고 교체 하 였 으 며,일부 특수 문 자 를 교체 하 였 습 니 다.예 를 들 어".",";"(",")" [코드 를"중간"으로 교체 합 니 다.코드 를 자세히 살 펴 보면 필터 메커니즘 이 생각 보다 완벽 하지 않다 는 것 을 알 수 있 습 니 다.제출:[ mg]& #176& #93& #118& #97& #115& #79rip& #106& #57documen& #115& #76write& #30& #29 하하 또 해 킹 당 했 어& #29& #61& #29[/ mg] 유사 코드 는 더 높 은 스 크 립 트 공격 을 실현 할 수 있 습 니 다.주:많은 사이트 에 이 문제 가 존재 하기 때문에 코드 를 수정 한 적 이 있 습 니 다.공격 성 이 없습니다.  FT 2000 을 열 고 텍스트 편집 을 사용 하면 특수 문자 에 속 하 는 ASCII 코드 를 찾 을 수 있 습 니 다.예 를 들 어:분점;대신 59,문장. 46.이러한 형식 으로 우 리 는 코드 를 다시 제출 합 니 다.과연 위의 전체 여과 체 제 는 거의 효력 을 잃 었 습 니 다.아무런 방어 역할 도 하지 못 했 습 니 다.  이상 의 공격 방법 을 보 니 답답 하지 않 나 요?만약 위의 문제 가 발생 하 는 것 을 피 할 수 있다 면?  1.사이트 프로그램 에 포럼,게시판,그리고 다른 프로그램 에 제출 한 데이터 형식 이 포함 되 어 있 으 면 필터 가 잘 되 지 않 습 니 다.업그레이드 프로그램 을 즉시 다운로드 하거나 사용 을 중단 하 십시오.더 많은 문제 가 발생 하지 않도록 하 십시오.  2.무료 게시판 을 제공 하고 게시판 을 무료 로 신청 하 는 역 은 UBB 형식 을 닫 거나 UBB.ASP 프로그램 페이지 를 더 잘 해석 할 수 있 습 니 다.  3.ASP 를 작성 할 줄 아 는 친구 들 에 게 다음 과 같은 문 자 를 걸 러 내 는 것 을 권장 합 니 다.(모든 문 자 는[]에 적 혀 있 습 니 다.)    ["|.|;|:|\|/|&|$|#|`|)|,|'|"|-|~|[|(||] 주:그 중|분할 문자  4.일부 사이트 에 서 는 문제 가 많은 게시판 이나 제출 이 포 함 된 프로그램 을 제거 하 는 것 을 권장 합 니 다.예 를 들 어 www.sangel.net 에서 사용 하 는 guestbook 은 이름 모 를 프로그램 체 문제 가 더 많 습 니 다.바 꾸 는 것 을 권장 합 니 다.  5.본인 도 외국 게시판 을 수 정 했 습 니 다.프론트 데스크 는 거의 수정 이 끝 났 습 니 다.백 스테이지 가 요 며칠 서 두 르 고 있 습 니 다.수정 한 후에 텍스트 제출 과 입력,댓 글 을 모두 잘 걸 러 낸 것 같 습 니 다.원래 모두 영어 화면 을 사용 하려 고 했 지만 N 다 chinese 를 고려 했 습 니 다. 영어 에 대해 서 는 통과 하지 못 했 지만,나 는 여전히 일부 절 차 를 한 화 시 켰 다.관심 이 있 는 친 구 는 할 수 있다.http://www.e3i5.com/guestbook/ 테스트.우 리 는 선의 의 테스트 를 환영한다.  다음은 국내 에서 본인 의 테스트 를 거 친 사이트 의 게시판 에 문제 가 있 는 주소 입 니 다.모든 역 을 종합해 보면 안전성 은 정말 더 이상 생각 할 수 없다.문제 가 많다.  손 만 대면 해결 할 수 있 는 문제 지만 자칫 큰 문제 가 될 수 있다

좋은 웹페이지 즐겨찾기