PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2014/12/31 15:49:31
Name 피들스틱
Subject [일반] [잡담] 티스토리 블로그에서 null 을 검색한다는것....
어제 겪은 그냥 짧은 잡담입니다.

티스토리 블로그를 이용하고 있는데, 옛날에 제가 작성한 글 중에서 null 이라는 키워드가 포함된 글을 검색하고 싶어서 검색을 했는데, 다음과 같은 페이지가 뜨더군요.



그래서 갑자기 티스토리 트래픽 부하인가 보다... 하고 잠시 뒤에 다시 시도했는데 똑같은 페이지가 또 뜨는겁니다. 뭐지? 하면서 다른 글들을 클릭해보니 다른 글은 잘 들어가집니다. 다시 null 을 검색해보니 또 똑같은 페이지로 들어가져서, 우리가 세번은 똑같은걸 안 당하잖습니까? 알고보니 null 이 검색되지 않는 것을 알수 있었습니다.

(블로그주소).tistory.com/search/(키워드) 형태로 검색된 결과 페이지를 제공하는데, 이 (키워드) 가 null 이면 그냥 트래픽 부하 페이지를 띄우더군요.

ex) 예제를 하나 보여 드리면, 아래 링크는 티스토리의 공지사항 블로그입니다.
http://notice.tistory.com/

만약 검색창에 'bug' 라는 단어를 검색하면 아래 페이지로 연결되면서 검색결과를 보여주는데
http://notice.tistory.com/search/bug

검색창에 'null' 이라는 단어를 검색하면 아래 페이지로 연결되죠.
http://notice.tistory.com/search/null

지금 당장 아무 티스토리 블로그에 들어가셔서 검색창 안에 null 을 입력하시면 결과를 보실 수 있으실 겁니다.



뭐 이런게 다 있나... 싶어서 문의를 넣어 보았는데



만들때 그렇게 만들었으니 그냥 쓰라고 하네요... null 이라는 단어가 희귀한 단어도 아닌데 좀 너무하지 싶었습니다...

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
14/12/31 15:50
수정 아이콘
정말. 심플하게 코딩했네요....
랜덤여신
14/12/31 15:51
수정 아이콘
보안 허점의 향기가 나는군요. 과연?
동네형
14/12/31 15:51
수정 아이콘
쿼리에 그대로 들어가나 보군요
신세계에서
14/12/31 15:58
수정 아이콘
왜 그렇게 되는 건지는 프로그래밍에 대해 잘 알지 못해서 짐작이 안 갑니다만 피들스틱 님이 느끼는 황당함은 저도 잘 느껴집니다 프알못이긴 한데 아무래도 리카 님의 추측이 맞을 듯하고 티스토리 측에서 세세한 부분에 별다른 신경을 안 쓴 것 같네요
피들스틱
14/12/31 16:07
수정 아이콘
에러페이지 URL 을 흔히 쓰는 null 이라는 단어로 해놓아서... 정작 저 단어를 검색할때에도 그 페이지로 넘어가버리는겁니다.
위에도 말씀드렸지만 '피들스틱' 을 검색하면 '(블로그주소).tistory.com/search/피들스틱' 이라는 URL 로 연결되면서 검색결과를 보여주는데
'(블로그주소).tistory.com/search/null' 은 검색결과를 보여주는게 아니라 에러페이지를 띄워버립니다.

어디 중소기업 홈페이지도 아니고 티스토리 블로그 검색시스템이.... 좀 황당했어요.
신세계에서
14/12/31 16:11
수정 아이콘
그렇군요
14/12/31 16:04
수정 아이콘
쿼리문에 null 들어가면 대폭발..은 아니고 sql인젝션 당할 위험이 있나보군요.

...에휴...
피들스틱
14/12/31 16:09
수정 아이콘
그런데 사실 저도 웹쪽은 잘 몰라서 그러는데 어차피 쿼리에는 스트링으로 들어가는거 아닌가요?
14/12/31 16:29
수정 아이콘
유저가 입력한 text 바로 쿼리문 태웠다간 사단납니다.
동네형
14/12/31 16:30
수정 아이콘
코딩하기 나름이지만 대부분은 저게 실제 NULL이 아니라 따옴표 달아서 문자열로 예외처리를 할겁니다.
아니면 검색 안되게 막아놨겠죠..

결국 이건 버급니다. 검색이 안되는게 아니라 정확히 되긴하는데 이상한게 되는거에요
피들스틱
14/12/31 17:22
수정 아이콘
예 제 생각에도 검색까지는 잘 되는것 같은데, 페이지 출력부분에서 문제가 발생하는것 같습니다.
왜 하필 검색이 실패했을때 출력되는 페이지 URL 을 null 과 같은 흔한 단어로 고정시켜 놓았을까 의아했습니다.
세크리
14/12/31 23:42
수정 아이콘
사실 따옴표 정도 다는건 sql인젝션 검색 3분만 해봐도 뚫죠. sql인젝션을 막을만한 충분한 기술력이 없다면 null검색 자체를 막는것도 나쁜 방법은 아닙니다...만 국내 최대 블로그업체중인 하나인 티스토리가 저는 저정도 기술력 없어요 하고 광고하는게 좀더 어처구니가 없죠,
신세계에서
14/12/31 16:21
수정 아이콘
수박겉핥기지만 sql삽입에대해 대충검색해보니 Lumines 님이 한숨쉬시는 이유가 짐작이 가네요
김성수
14/12/31 16:34
수정 아이콘
인젝션은 당연히 바인딩 해서 처리하든 이스케이프 하든 잘 막고 있겠죠. 그것과 상관없이 비지니스 로직에서 문제되는 부분이 따로있을 것이고..(혹은 일부러 막아놓았거나) 건의를 하셨으니 처리되지 않을까 싶네요. 별 문제 같지는 않아보이는데, 특정 개인에 한해서는 불편하실 수 있죠. 흐흐 (당연히 불편한 사용자가 있으니 고쳐야하고 그럴거라 봅니다.)
14/12/31 16:40
수정 아이콘
저도 티스토리씩이나 되는 사이트에서 escape 안해서 저럴까..싶지만서도 더 큰 사이트들도 인젝션 무방비인 케이스를 몇번 봤던지라 설마..싶네요.
김성수
14/12/31 16:47
수정 아이콘
뭐 뜯어볼 수 없는 이상 믿고 써야죠. 크크크크
에러 정도 보이면 심각해지긴 하겠지만요. 흐흐
피들스틱
14/12/31 17:18
수정 아이콘
문의하고->3일후에 지금 처리중이다, 기다려달라->1주일후에(어제) 위와 같은 메일을 받아서...
'추후 서비스 개편때 최대한 수정되도록 하겠다' 니까 사실 빠른시일내에 디버깅되진 않을것 같다는 생각입니다.

...사실 개인적인 생각으로는 쿼리에 실패했을때 연결되는 저 에러페이지 URL만 .../search/둟꿣뗇뜳띱딻 등 흔한 단어가 아닌 주소로 바꿔주기만 하면 될것같은데 그게 그렇게 어렵나 싶네요.
김성수
14/12/31 17:32
수정 아이콘
말씀을 들어보니 저도 답답하긴 하네요. 아마 null을 찾아보신 것 보면 개발자분이실 것 같은데 그러면 더 답답하시겠죠.
하얀마녀
14/12/31 16:49
수정 아이콘
가만있어야겠다...
파쿠만사
14/12/31 16:55
수정 아이콘
크크크 저랑 같은 심정 이시내요
리비레스
14/12/31 17:15
수정 아이콘
우리가 세번은 똑같은걸 안 당하잖습니까?
원시제
14/12/31 17:16
수정 아이콘
오픈 당시도 아니고 오픈 당신.
14/12/31 17:34
수정 아이콘
지금 필요하신 정보라면 nul도 괜찮지 않을까요?
김성수
14/12/31 17:42
수정 아이콘
혹은 다른 검색엔진에서 찾아보시거나 말이죠. 아마 해결은 보셨을 것 같습니다. 흐흐
14/12/31 17:42
수정 아이콘
저도 이생각했네요..크크
PublicStatic
14/12/31 19:19
수정 아이콘
검색 키워드는 저렇게 URL에 포함시키지 말고 쿼리스트링으로 처리해야 합니다..

예를 들면

http://domain/search/null 이렇게 하지 말고

http://domain/search?keyword=null

이렇게요...

Url에 포함시키면 특정 문자는 검색이 잘 안됩니다.

보안 문제로 웹서버가 차단시키기도 하구요...?와 같이 미리 정해진 의미가 있는 문자도 있기 때문이지요..

제가 몇달전에 이 문제로 골머리 썩인건 안자랑...;
김성수
14/12/31 20:04
수정 아이콘
좀 의아한 것이 "null"이 왜 특정문자인지 모르겠습니다. 실제 제어 문자도 아닐뿐더러 "nul"과 다를바 없이 문자 집합에서 영문자 n, u, l, l을 인코딩했을 뿐인데 말이죠. 문제가 있으셨단 부분은 아무래도 웹 서버 자체나 비지니스 로직에서 차단하셨던 것이 아닐까 합니다. (장비 쪽은 아닐테고) 추측하건데, 티스토리는 웹 서버에서 search/검색어 부분을 keyword=검색어 부분의 비지니스 로직쪽으로 맞춰서 라우팅해줬을 것이고, 단지 "null" 부분만 다른 곳으로(에러 페이지) 라우팅 해준 것 같습니다. (search/null도 되도록 하는 것이 사용자 입장에서는 당연할 것이라 보고, 기왕 RESTful하게 하려면 문제가 있어 보이는 부분은 수정하기는 해야겠죠. ^^;)
PublicStatic
15/01/01 00:05
수정 아이콘
제가 폰으로 쓰느라 설명을 제대로 못 드렸네요 ^^;

위에서 이야기한 특정문자는 몇몇 특수문자를 말한 것이었습니다.
IIS에서는 몇 가지 특수문자가 URL에 들어 있으면 보안 에러를 밷어내더군요...

그리고, 예를 들어서 "aa?bb" 키워드를 검색하고 싶으면, 위의 방법으로는 되지 않습니다.
http://domain/search/aa?bb 와 같이 되는데, ? 이후는 쿼리스트링으로 인식하여서 실제로는 aa 만을 keyword로 인식하여 라우팅 해 주거든요...

따라서 깔끔하게 쿼리스트링을 사용하고, 키워드는 urlencoding 처리하여 파라미터값으로 붙이는게 좋습니다.
Restful 원칙을 좀 어기더라두요...

파라미터가 숫자다/영문자다..이렇게 정해져 있는 경우가 아니라면 쿼리스트링을 쓰는 게 맞을 것 같습니다.
김성수
15/01/01 00:36
수정 아이콘
역시 뭔가 이상했는데, 그러셨던 거군요. 자세한 경험담 감사드립니다. 저도 어차피 일반 글 검색은 쿼리스트링으로만 처리히는지라 딱히 왈가왈부할 내용까지는 아니네요. 흐흐흐 새해 복 많이 받으시길 바랍니다. 그리고 보니 닉네임에서 포스가 뿜어져 나오시네요. 크크
PublicStatic
15/01/01 10:26
수정 아이콘
흐흐 감사합니다...

개발자이신거 같은데...새해에는 항상 칼퇴하세요...^^
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
55728 [일반] 1/1일부터 LGU+ / SKT 신규 개통시 위약금이 올라갑니다. [35] Leeka6336 14/12/31 6336 0
55727 [일반] [잡담] 티스토리 블로그에서 null 을 검색한다는것.... [30] 피들스틱4336 14/12/31 4336 0
55726 [일반] 사상 초유의 중국 야구동호회 마약사건 [62] 자전거도둑15632 14/12/31 15632 0
55725 [일반] 여러분, 이게 다 비타민 C 때문인 거 아시죠?... [38] Neandertal8358 14/12/31 8358 8
55724 [일반] 오늘 제 나름 1년 간의 프로젝트가 결실을 맺었습니다 (별거 아님 주의) [28] 효연광팬세우실5098 14/12/31 5098 9
55722 [일반] 2014년 PlayList [9] 삭제됨3549 14/12/31 3549 2
55721 [일반] 일부 네티즌들 박슬기 컬투쇼 발언에 문제 제기 [374] swordfish-72만세16969 14/12/31 16969 1
55720 [일반] 미래부의 통신3사 무선 인터넷 속도조사 및 스마트 이야기 [20] Leeka4824 14/12/31 4824 0
55719 [일반] 최민수씨의 수상거부 [63] Dj KOZE11905 14/12/31 11905 2
55718 [일반] [공지] 한숲 방문 행사와 추가 후원에 관한 알림 [13] clover3624 14/12/31 3624 8
55717 [일반] 이번 신해철씨 의료사고에 신해철측의 비협조의 여부는? [10] 발롱도르3670 14/12/31 3670 0
55716 [일반] 내년 연예대상 수상자 예상 [24] becker5983 14/12/31 5983 0
55715 [일반] “반드시 복수하겠어”... 조현민 [132] 빨간당근15346 14/12/31 15346 1
55714 [일반] [연재] 빼앗긴 자들 - 25 [6] 가브리엘대천사1885 14/12/31 1885 1
55713 [일반] 역대 3사 연예대상 총 정리 [17] Leeka8119 14/12/31 8119 0
55712 [일반] SBS 연예대상이 마지막으로 끝났습니다. [50] Leeka9548 14/12/31 9548 0
55711 [일반] 사이버사령부 선거 개입, 전 사령관들 집행유예·선고유예 선고 [63] 당근매니아5771 14/12/30 5771 2
55710 [일반] [야구] 나주환, 이재영. 80%삭감된 금액 제시. [91] Leeka8136 14/12/30 8136 0
55709 [일반] 코리아 - 코리아 사진으로 보는 남북한의 대조 [25] Dj KOZE8952 14/12/30 8952 1
55708 [일반] 멈출수 없는 분노, 팟캐스트 '고상만의 수사반장' [1] 어강됴리4914 14/12/30 4914 1
55707 [일반] [축구]강릉시청축구단 '문자집단해고'는 '천사통장' 때문 [2] ChoA3748 14/12/30 3748 0
55706 [일반] 직원 편견은 누가 만드는가 [12] AspenShaker5746 14/12/30 5746 5
55705 [일반] 현대로템, K2전차 양산…국산 파워팩 장착 [36] swordfish-72만세7871 14/12/30 7871 0
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로