본문 바로가기

07001lab.tistory.com/entry/dodamb1ndcom-stored-xss

 

dodam.b1nd.com / stored xss

몇달전에 학교에서 학생 관리 시스템을 만들어서 릴리즈를 했더라고요. 웹이더라고요???? 왠만한건 다 해킹 못하게 막아놨다고 하길래 재미로 한번 취약점을 찾으려 삽질을 해봤어요. 아 그리고

07001lab.tistory.com

얼마전에 털었던거

 

업로드에 실패했습니다. 가 뜨면서 파일이 남아있나를 생각을 해봤는데,

먼저 말하면 업로드에 실패한건 맞았음.

 

업로드 우회를 했을때 올라간게 이미지파일일경우 내용이 싹다 깨져버렸음.

왠지는 모르겠음.

 

근데 이상하게 ASCII는 멀쩡했음.

 

올라갔는데 이미지가 박살난게 맞으니 업로드에 실패한건 맞음.

근데 무슨 버그인지 그냥 서버팀이 일을 안했는지는 모르겠지만

업로드에 성공했든 실패했든 파일이 삭제되지 않고 계속 서버에 남아있음.

 

애초에 예상했던 시나리오인

 

Content-Type 가 image/png 네?

파일이름도 xss.png 네 ?

헤더도 png 파일 헤더네?

ㅇㅋ 통과

 

Content-Type 가 image/html 이네?

파일이름이 xss.html 이네?

일단 image긴 한데

헤더가 png헤더네?

png는 이미지 파일이니

ㅇㅋ 통과

 

가 아니었던거임.

 

 

실제로 프론트 인증을 전부 우회한채로

webshell.pnp

를 업로드 시도했을때,

오류메세지가 뜨는데 파일은 서버에 저장이 됨.

근데 접근하니 웹쉘이 뜨는게 아니라 저 파일이 다운로드 되더라.

 

그래서 이미지가 아닌 xss.html 이라는 파일이 올라갔을때도 서버 필터에 걸리니 글이 업로드되지 않고 오류 메세지를 띄움.

그런데 업로드에 성공했든 실패했든 파일이 삭제되지 않고 계속 서버에 남아있으니 직접 그 파일이 있는 url로 접근하면 파일이 남아있으니 접근이 가능함.

 

거기에다가 글 목록을 보는것만으로 특정 위치에 GET를 날리는 취약점이 있으니 말 다한거지.

 

생각해보니 저게 왜들어가져가 아니라 그냥 버그였던거임.

 

어캐 막아야 되냐고 물어보면 나는 모름.

내가 Express 웹서버를 몇번 만들어 보긴 했어도 급하게 만들어야 해서 보안이든 뭐든 신경 안쓰고 그냥 돌아가게만 짜뒀으니.

 

막는건 전문 보안업체분들이 알아서 잘 막아주시겠지.

'????' 카테고리의 다른 글

2020년 9월 22일 오전 11시 01분에 저장한 글입니다.  (0) 2020.09.22
cyberoc.kr / 2020 사이버작전 경연대회 후기  (0) 2020.09.14
테스트용글여섯  (0) 2020.08.18
테스트용글다섯  (0) 2020.08.18
테스트용글넷  (0) 2020.08.18
댓글