• 목록
  • 아래로
  • 위로
  • 8
  • 네모
  • 조회 수 196

안녕하세요.

이미지 리사이즈 애드온을 제작하는 도중 질문드릴 점이 있어 글 남깁니다.

 

대상이 된 웹사이트에는 업로드 되는 이미지들의 사이즈가 매우 크고, 개수도 만만치 않습니다.

 

이러한 상황에서, 서버단에서 리사이즈 작업을 진행한다면 부하가 심하리라고 생각되어 몇가지 방법을 생각했는데,

그 중 하나가 브라우저에서 이미지 가공을 완료한 뒤 DataURI 값을 AJAX로 서버에 전달하는 방식입니다.

전달받은 DataURI는 서버에서 디코딩하여 기존 첨부된 이미지에 덮어씌우고요.

 

위 방식대로 제작은 해 두었으나, 보안문제가 있을까 싶어 실사용은 꺼리고 있는 중입니다.

 

혹시 이러한 방법이 보안에 위험한 방법일까요?

만약 그렇다면, DataURI 값을 전달할때, 서버단에서는 어떠한 검증작업을 하여 위험을 방지할 수 있을까요?








+

XE타운에도 올려두었고, 그거 그대로 복사해서 그런지 뭔가 여기서 쓰던 어투와 다르네요ㅋㅋㅋㅋㅋㅋ

작성자
네모 71 Lv. (45%) 408540/414720EXP

인스타그램 : http://instg.me/nemo_9l

댓글 8

title: 황금 서버 (30일)humit
profile image

그냥 직접 AJAX처럼 흉내내어 DataURI를 전달하려는 시도가 있을 수도 있겠네요.

이 부분은 어렵게할 수는 있겠지만 불가능하게는 어려울 것 같아요. (ex. 업로드 요청을 할 때마다 세션의 값을 증가시키는 방법)

 

물론 이 방법으로만은 취약하지는 않겠지만 다른 취약점과 겹치면 웹쉘까지도 업로드 할 수 있겠습니다. (물론 네모님이 다른 취약점을 만드실 일은 없겠지만요 ㅎ..)

애초에 base64로 인코딩을 해서 넘어가니 방화벽이 우회가 가능할수도 있고요..

comment menu
2018.05.12. 09:34

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

네모 작성자 → humit
profile image

저장시 확장자는 무조건 jpg 로 지정되는데, 예전에 jpg 파일로도 이상한 짓이 가능하다는 말을 들었거든요.

그 당시에 원리를 알아놓지 않고 그냥 그렇구나 하고 넘어갔다가 지금 와서 보니 자료 찾기가 쉽지 않네요ㅠㅠ

 

jpg 파일로도 웹쉘 업로드가 가능한걸까요?

comment menu
2018.05.12. 10:11

신고

"네모님의 댓글"

이 댓글을 신고 하시겠습니까?

title: 황금 서버 (30일)humit → 네모
profile image

아마 최신 버전으로 한다면 크게 문제가 안될겁니다. 구 버전인 경우 파일명 조작이 가능하면 %00와 같은 방법으로 우회하는 방법이 있었습니다.

comment menu
2018.05.12. 10:49

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

NoYeah
profile image

ffmpeg나 이미지매직이 설치되어 있지 않는 서버에서도 사용한 방법인가요?

애초에 이미지 변환 방식을 선택하도록 서버단에서 ffmpeg를 이용한 방법, 이미지매직을 이용한 방법, 브라우저단에서 변환시키는 방법 이렇게 선택하도록 하면 조금더 낫지 않을까합니다.

 

저는 잘 모르는 분야이기 때문에 보안 이슈에 대해서 문제가 될거다 라는 답은 못드리겠으나, 이미 base64방식으로도 이미지 로드를 많이 하기때문에 큰 문제는 없지 않을까 생각합니다.

 

참고로 여기는 이미지매직이 설치되어 있습니다!

comment menu
2018.05.12. 10:11

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

네모 작성자 → NoYeah
profile image

예. 서버는 가리지않고 base64_decode 사용만 가능하다면 될거라고 생각해요.

 

따로 선택기능을 추가할 필요는 없는게, 이미 이미지매직을 활용한 리사이즈 모듈은 존재하는데다가...

50MB 이상의 이미지가 게시글당 수십장 업로드 되는 환경에서 사용해야 합니다ㅠㅠ 아무래도 서버 부담이 클 것 같아서요.

사실 업로드 전에 리사이즈 하면 간단한 문제이긴 한데, 알바를 고용해서 업로드 시키면서 리사이즈 작업까지 진행하는건 힘들다고 하더라구요.

 

여기서는 그냥 이미지프로세스 모듈을 사용하면 간단하지 않을까요! 제 블로그에서도 그걸로 리사이즈 하고 있고..!

comment menu
2018.05.12. 10:19

신고

"네모님의 댓글"

이 댓글을 신고 하시겠습니까?

NoYeah → 네모
profile image

에디터 자동 완성 모듈과 충돌이 있다는 이야기를 들어서 쉽게 적용하지 못하는 상태입니다.

 

그리고 base64 방식은 png나 다른 방식도 가능하니 않나요?

comment menu
2018.05.12. 11:47

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

네모 작성자 → NoYeah
profile image

앗! 그랬군요..! 스포어용으로 하나 만들어봐야겠습니다..!

 

리사이즈의 용도가 쓸데없이 큰 이미지들의 용량을 줄이는게 목표니까...

굳이 png를 지원할 필요는 없다고 생각했지요. 어떤 이미지를 첨부하든, 다 jpg로 변환해서 저장시키면 된다는 생각에..!

comment menu
2018.05.12. 12:07

신고

"네모님의 댓글"

이 댓글을 신고 하시겠습니까?

NoYeah → 네모
profile image

jpg면 충분하지요. 투명이미지 아니고서야 굳이 png를 유지할 필요는 없으니깐요. ㅋㅋ

comment menu
2018.05.12. 21:14

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 829
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4502
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4476
925 계속 사용중이던 네트워크 공유 폴더가 갑자기 액세스 불가라고 뜹니다. 6 image 장윤서 18.06.07.16:55 34344
924 팀뷰어 대체할 원격 제어 프로그램 추천 부탁드립니다 16 이니스프리 17.11.30.15:38 32326
923 엑셀 그래프의 축 간격 조절 문제입니다. 2 image 국내산라이츄 17.08.10.11:06 12498
922 아이폰/아이패드 충전기 발열 관련 질문 드립니다 9 image 이니스프리 19.05.02.22:52 11116
921 PyQt 실행시 프리징 현상 관련하여 질문 드립니다! ㅠㅠ 3 이니스프리 19.07.06.03:37 6714
920 에러 523 해결법 4 입체그림 20.02.21.16:48 6709
919 프린터가 지 맘대로 프린트를 하네요. 3 곰도리푸 18.04.04.18:20 6067
918 윈도우용 메일 클라이언트가 필요합니다. 9 네모 18.01.11.20:15 5867
917 크롬에서 특정 사이트 접속 문제 관련하여 질문 드립니다 9 이니스프리 17.03.27.18:03 5326
916 오라클 클라우드 프리티어 가입이 안 되네요 ㅠㅠ 20 이니스프리 20.06.26.21:31 4845
915 파이썬 에디터로 어떤 것이 좋나요? 14 NoYeah 20.01.08.21:08 4534
914 라떼판다와 라즈베리 파이 중 어느 쪽을 사는 게 나을까요? 9 제르엘 18.10.14.19:25 3837
913 나무 위키의 수익구조는 무엇일까요? 2 NoYeah 18.03.18.15:56 3837
912 파티션 복구 프로그램 TestDisk 잘 아시는 분 계시나요? 29 이니스프리 17.11.10.14:53 3749
911 IE11에서 이미지가 깨지는 현상을 해결할 수 있을까요? 2 이니스프리 19.08.02.00:01 3705
910 파일질라로 연결하니까 보안되지 않은 서버입니다. TLS를 통한 FTP를 지원하지 않습니다. 이렇게떠요 해결방안좀 1 마카오 16.09.11.00:57 3658
909 자바스크립트 FormData와 관련된 메서드의 IE 호환성과 관련하여 질문 드립니다 ^^ 6 image 이니스프리 19.08.05.14:22 3433
908 선택약정 안 되는 중고폰의 경우에는 어떤 단점이 있는 것인가요?? 6 이니스프리 20.01.21.14:30 3103
907 [Requests] multipart/form-data의 전송에 대해 질문 드립니다 ^^ 4 이니스프리 19.12.18.22:00 3012
906 집에서 시놀로지 NAS로 워드프레스나 미디어위키 돌리면 느릴까요? 10 이니스프리 17.01.16.20:56 2984