[버그] gnuboard역시 스팸공격받을수 있는거 같습니다. 정보
그누보드 [버그] gnuboard역시 스팸공격받을수 있는거 같습니다.본문
몇달전부터 한참 말이 많았던 웹보드를 이용한 스팸 공격과 피해사례가 많았습니다.
구체적으로 테크노트보드와 TT보드를 예로 들수 있습니다.
또한 제로보드역시 이러한 문제를 격었던적이 있는것으로 알고 있습니다.
그래서 gnuboard역시 이러한 허점이 있는지 테스팅하였습니다.
결과론적으로 gnuboard역시 이러한 취약점이 있는것 같습니다.
첨부된그림은 sir.co.kr에서 로그인 하지 않은 상태에서
저의 메일로 피싱(임의로 속이는행위) 하여 보낸경우 입니다.
다음 URL에서
http://www.sir.co.kr/?doc=bbs/formmail.php&mb_id=kagla&name=관리자&email=*** 개인정보보호를 위한 이메일주소 노출방지 ***
특정 변수를 다른웹사이트에서 반복적으로 돌려서 보내게 된다면
역시 스팸이 다량 발송될것으로 보입니다..
혹시 이글이 잘못되었다면 글남겨 주세요.
제가 받은 메일을 FW하여 관리자님에게 보내었습니다.
구체적으로 테크노트보드와 TT보드를 예로 들수 있습니다.
또한 제로보드역시 이러한 문제를 격었던적이 있는것으로 알고 있습니다.
그래서 gnuboard역시 이러한 허점이 있는지 테스팅하였습니다.
결과론적으로 gnuboard역시 이러한 취약점이 있는것 같습니다.
첨부된그림은 sir.co.kr에서 로그인 하지 않은 상태에서
저의 메일로 피싱(임의로 속이는행위) 하여 보낸경우 입니다.
다음 URL에서
http://www.sir.co.kr/?doc=bbs/formmail.php&mb_id=kagla&name=관리자&email=*** 개인정보보호를 위한 이메일주소 노출방지 ***
특정 변수를 다른웹사이트에서 반복적으로 돌려서 보내게 된다면
역시 스팸이 다량 발송될것으로 보입니다..
혹시 이글이 잘못되었다면 글남겨 주세요.
제가 받은 메일을 FW하여 관리자님에게 보내었습니다.
댓글 전체
더엄격한 규제를 한다면,
id를 검사하여 해당id의 메일을 강제로 삽입하게 만들고 Get방식이 아닌 Post로 처리를 해야될 것 같습니다.
또한 frommailsend.php에서도 다시한번 id와 해당 id의 메일주소와 같은지 검사를 해야될 것 같습니다.
거기다가 이름까지 추가한다면... 조금더 보완할수있지 않을런지요..
문제는 메일주소가 없거나 이름이 없는경우 일껍니다...
Gnuboard 쓰는 분들 중에선 메일주소나 이름이 없는 회원이 있진 않겠죠? :)
만일 메일주소(받는id)가 없다면, 해당 메일을 발송할 수 없도록 해야될듯 싶어요..
더추가 하고싶다면,
보낸 사람의 ip와 보낸시각을 보낼때 기입했던 메일주소 정도의 정보를 기록하는것도 좋은것 같은데.. ^^;;;;
id를 검사하여 해당id의 메일을 강제로 삽입하게 만들고 Get방식이 아닌 Post로 처리를 해야될 것 같습니다.
또한 frommailsend.php에서도 다시한번 id와 해당 id의 메일주소와 같은지 검사를 해야될 것 같습니다.
거기다가 이름까지 추가한다면... 조금더 보완할수있지 않을런지요..
문제는 메일주소가 없거나 이름이 없는경우 일껍니다...
Gnuboard 쓰는 분들 중에선 메일주소나 이름이 없는 회원이 있진 않겠죠? :)
만일 메일주소(받는id)가 없다면, 해당 메일을 발송할 수 없도록 해야될듯 싶어요..
더추가 하고싶다면,
보낸 사람의 ip와 보낸시각을 보낼때 기입했던 메일주소 정도의 정보를 기록하는것도 좋은것 같은데.. ^^;;;;
음 점검해보니 현재 소스에 이런 문제가 발생 할수 있다고 여겨져 글을 적습니다.
if (!$member[mb_id] && $cfg[formail_is_member]) {
echo "<script language='javascript'> alert('회원만 이용하실 수 있습니다.'); window.close(); </script>";
exit;
}
위 명령은 비회원은 폼메일 프로그램을 보낼수 없게 할수 있습니다.. config.php에서
if ($mb_id) {
$mb = get_member($mb_id);
if ($mb[0] == false) {
echo "<script language='javascript'> alert('회원정보가 존재하지 않습니다.\\n\\n탈퇴하였을 수 있습니다.'); window.close(); </script>";
exit;
}
if ($mb[mb_open] == false && $is_admin != 'default') {
echo "<script language='javascript'> alert('정보공개를 하지 않았습니다.'); window.close(); </script>";
exit;
}
}
위에 보시면 mb_id를 체크 합니다. 하지만 아이디를 똑같이 하고 뒤에 메일 주소만 틀리게 한다면
메일은 얼마든지 보낼수 있습니다.
스팸메일의 방송이 가능 하다는 것입니다. e-mail과 mb_id가 같을때 메일 발송이 허락 되어야 할듯 합니다..
if (!$member[mb_id] && $cfg[formail_is_member]) {
echo "<script language='javascript'> alert('회원만 이용하실 수 있습니다.'); window.close(); </script>";
exit;
}
위 명령은 비회원은 폼메일 프로그램을 보낼수 없게 할수 있습니다.. config.php에서
if ($mb_id) {
$mb = get_member($mb_id);
if ($mb[0] == false) {
echo "<script language='javascript'> alert('회원정보가 존재하지 않습니다.\\n\\n탈퇴하였을 수 있습니다.'); window.close(); </script>";
exit;
}
if ($mb[mb_open] == false && $is_admin != 'default') {
echo "<script language='javascript'> alert('정보공개를 하지 않았습니다.'); window.close(); </script>";
exit;
}
}
위에 보시면 mb_id를 체크 합니다. 하지만 아이디를 똑같이 하고 뒤에 메일 주소만 틀리게 한다면
메일은 얼마든지 보낼수 있습니다.
스팸메일의 방송이 가능 하다는 것입니다. e-mail과 mb_id가 같을때 메일 발송이 허락 되어야 할듯 합니다..
현재로썬 config.php 의 이내용이 비회원사용가능하게 되는경우에 한해서 입니다.
$cfg[formail_is_member] = 0; // 폼메일 회원만 사용 여부 ( 1 : 회원만 , 0 : 비회원도 )
$cfg[formail_is_member] = 0; // 폼메일 회원만 사용 여부 ( 1 : 회원만 , 0 : 비회원도 )