CI 묻고 답하기

제목 주소창이용 curl이용 등등, url직접 접근에 대처방법에 대한 경험이 필요합니다 ㅠ
카테고리 CI 2, 3
글쓴이 neo천 작성시각 2019/02/13 11:16:51
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 18760   RSS

주소창에 직접 url을 치거나, curl을 이용하여 직접 컨트롤러에 접근을 시도하는 유저가 있습니다.

 

한번은 3~40초동안 데이터를 몇십번 넣더군요...ㅠ

-컨트롤러에 insert를 동적하는 함수에 접근한듯합니다 (ex http://test.com/controller/addData)

그 유저가 정확하게 어떤식으로 접근을 한지는 모르겠으나

의심되는 부분은 역시 curl로 post값을 보낸거 같습니당...

 

검색해보니.. 

리퍼러체크, 포스트체크, 포스트빈값체크등을 하라고 합니다,, 하지만 완벽한게 아니랍니다

리퍼러등등 변조도 가능하기때문이라네요..

 

그래서csrf로 될까 했지만, url(컨트롤러)로 직접 주소창을 치면 접근은 되버리고,,

curl로 접근했을 경우는 모르겠네요..

 

컨피그에서 csrf를 true기능이

submit시에만 csrf-token을 컨트롤러로 보내서 자동으로 체크하는 방식인가요?

그래서 주소창에  직접url을 넣어서 접근 가능한거지...

 

질문정리를 하자면,,

1.주소창이나 curl을 이용해서 컨트롤러/함수에 접근할때 막을 방법은

post체크,post값체크,리퍼러 체크외에... 더 좋은 방법은 없을까요?경험이 미천하여 한계입니다 ㅠ

 

2.위에 말한 코드이그나이터 csrf기능은 submit시만 토큰생성 / 컨트롤러에서 토큰체크 방식이 맞는건지요??

(기본적인 크로스사이트요청 위조에 대한 개념을 알고있습니당, 해)

 

3. csrf기능이 true면 ajax통신도 그냥은 안되던데,, "submit시만"이라는 가정이 틀린걸까요?

 

4.curl을 이용하여 이런 접근들이 가능하다면,

사이트들의 게시판 도배나 결제진행후 데이터를갱신(유료사용자, 포인트, 기간연장)할때

큰 문제가 될꺼같은데 어떻게 방어를 하는지...

 

 

경험이 부족해서 이렇게조언을 얻고자 문의를 남깁니다

 

잘부탁드립니다!

 

 다음글 form_validation 질문입니다. (2)
 이전글 다중 디비 사용 질문드립니다.. (3)

댓글

한대승(불의회상) / 2019/02/13 11:23:31 / 추천 0

csrf를 적용하면 post로 데이터를 전송할 때만 체크합니다.

1개의 IP에서 연속적으로 들어온다면 IP를 기준으로 일시적 차단을 하는 방법을 사용해 볼 수 있겠네요.

필요하다면 영구차단도....

변종원(웅파) / 2019/02/13 11:24:12 / 추천 0

완벽한 보안은 없습니다.

csrf 적용하시면 직접 주소 타이핑 접근이나 curl로 직접 접근 막을 수 있습니다. ajax도 포럼 검색해보시면 적용법 나옵니다. ^^

(저는 모든 데이터전송을 post로 처리합니다.)

kaido / 2019/02/13 11:52:36 / 추천 0

보안은 돈과 반비례 한다고 하죠.

일정 시간에 수십~ 수백만건 접속을 해오던 곳이 있었는데, 거기 팀장분이 서버 매일 죽어서 고생고생 하다가 돈 들여서 방화벽 넣고 바로 해결 되었다고 합니다 ㅋ

당장은 IP 차단이나 후속 조치로 보안 관련 정책을 체크해 보시고, 물리적인 방화벽 도입도 한번 고민 해보셔야 할것 같습니다.

neo천 / 2019/02/13 12:39:07 / 추천 0

친절한 답변글 다들 감사합니다, 많은 도움이 되었고 대략 어떻게 진행해야할지 알았습니다 

 

정말 감사하다는 말로도 부족하지만, 시간내주셔서 감사합니다!