포럼
캡차가 뚤린것이 아니라 보안에 구멍이 생긴듯 하네요...
2014.05.09 13:08
현재 모든 출입은 index 파일을 통해서 이루어지는데..
현재 찾아본 결과...
index.php 파일을 통해서 오픈되어 저장된것이 아니라.
다른 특정파일을 통하여 회원등록및 글을 쓰는듯 합니다.
처음에 불특정 문서 번호로 접속한후 PHPSESSID 및 쿠키 저장후 평균 적으로 3차 접속시도후 다음번 xe의 어떤 파일을 통하여 회원 가입이 이루어지는듯 하네요...
그런데 도데체 어떤 파일인지 감이 안와서 미칠듯 합니다....
우선은 index에 따로이 로그파일 만들어 놓고 검색중에 있습니다.
혹시나도 구멍이 있을만한 곳을 아시는 분 좀 부탁좀 드려용 ㅠㅠ;;;
댓글 13
-
GG
2014.05.09 13:26
xe core 1.7x 인가요? -
푸하라
2014.05.09 13:47
최신버전 입니다.
아마도 1.7 때 전부 그런것 같네요....
-
GG
2014.05.09 13:53
멤버 가입 루틴이 포함된 php 파일이 하나 업로드 되기만 하면 사실상 멤버 가입이 되긴 합니다...
근데 php 파일이 업로드 되나요?
-
키스투엑스이
2014.05.09 14:18
그냥 개인적인 생각인데 인증 세션을 임의로 통과하는 것 아닐까요?
이메일 인증은 자동 프로그램 같은게 있으니 그런것으로 자동 인증한다 치고..
SMS인증이나 캡챠나 전부 뚫는거 보니 가입할때 세션을 임의로 통과하는게 아닐까 생각이 드네요. -
Double'U'
2014.05.09 14:22
-
업글
2014.05.09 18:29
XE의 파일 업로드는 바이너리 형태로 업로드 되는것으로 알고 있습니다.
따라서 코어단에서 절대 PHP와 같은 소스코드를 그대로 업로드시키지 않습니다.
-
도라미
2014.05.09 23:56
그렇죠. 바이너리 형태로 업로드 됩니다.
-
Double'U'
2014.05.09 14:23
클릭하니 저장만 되네요...-0-;;;
첨부파일이든 ftp를 뚫고 들어왔든 파일이 변조되거나 올라오면 가능할 듯 한데요.
ftp비번도 주기적으로 바꿔줘야 하죠..-0-;;
-
LI-NA
2014.05.09 18:14
인증은 세션에 기록을 남기기 때문에 구조상 어려울텐데요?
세션 변조는 거의 불가능하다고 봐야 하니 말이죠.
-
키스투엑스이
2014.05.09 20:53
그럼 대체 뭐가 문젤까요 -_-
모르겠넹..
-
LI-NA
2014.05.09 21:30
아주 상세한 로그를 찍어봐야겠네요...
모든 페이지 접근 결과 및 리턴값을 찍어두면 뭔가 보이겠죠...?
(그런데 그렇게 찍으면 사이트가 쥭는 부작용이..(?) ㅠㅠ)
어딘가 취약점이 있을텐데... 으음..
-
Riel
2014.05.09 21:50
옛날에 개인홈페이지 용도로 개발해드리고나서 종종 관리차 들어가는 사이트가 있는데 절대 트랙백이 초과될 일 없는 사이트가 트랙백 초과되서 접근이 안된다고...ㄷㄷ운영중인 사이트는 현재 1.4.5.10버전 입니다. 최신버전이 아니라서 그런줄 알고 오랜만에 공홈 들어왔는데 그 문제는 아닌듯 하군요..며칠전부터 무한 회원가입, 무한 게시글 생성이 되는걸 발견했습니다.글과 회원목록을 테이블에서 모두 비우고, 작성글 아이피 차단하면 되겠지? 생각했는데. 혹시나 싶어 오늘 다시 점검차 디비에 들어가보니, 지금도 테러당하고 있음을 확인했네요;; 인증메일가입해도 무참히 무시당하길래.. 사실상 회원가입이 필요없는 사이트라 아예 회원가입을 막아두는 걸로 우선 조치 했습니다만. 이것 참 큰일이네요..새로고침할때마다 세션테이블에 세션이 계속해서 엄청나게 증식되서 쓸데없이 용량만 커져있는게 보이고... 덕분에 계속 테이블이나 비우는 중입니다..ㅠㅜ -
GG
2014.05.10 01:17
혹시나 해서 그러는데 xe 1.7 버전 기준으로 member 모듈의 member.controller.php 파일을 열어 보시고
249라인쯤에 있는 function porcMemberInsert() 함수를 찾아 보세요.
그리고 첫줄에
if (Context::getRequestMethod () == "GET") return new Object (-1, "msg_invalid_request");
가 있는데 이 앞에
if(!checkCSRF()) return new Object(-1, 'msg_invalid_request');
이거 한줄을 추가해 보시겠습니까?이걸 추가하고 회원 가입이나 여러가지 정상적인 기능들을 테스트 해 보시고 문제 없다고 판단되면 한번 며칠간 지켜보고 또 무단 회원가입이 뚤리는지 확인해 주시면 감사하겠습니다.
코드를 추가해서 스팸도 안들어오고 잘 된다면
function procMemberModifyInfo()
함수에도 첫줄에 추가하시면 좋을것 같습니다.