0. 개요 회사에서 사이드프로젝트 느낌으로 오픈소스 CMS 분석을 하고 있다. 고등학교 1학년 때부터 그누보드를 취약점 분석해보겠다고 말만 하다가 처음으로 진지하게 분석해보고 있는데, 생각보다 취약점을 쉽게 찾을 수 있었다. 거의 RXSS이긴 했지만 그래도 취약점은 취약점이니깐 🤭 ㅎ 1. 취약점 분석 🎮 그누보드만의 특징이라고 하면 이것을 빼놓을 수 없다. 아래는 그누보드를 한번이라도 분석해 본 사람이라면 알 common.php 의 코드이다. common.php는 거의 모든 파일에서 include 되어 실행되며, extract() 함수를 사용하여 사용자로부터 변수를 입력받는다. 이 점 덕분에 변수를 편하게 사용할 수 있다는 점이 장점이지만, 보안 취약점에 노출된다는 큰 단점이 생긴다. $_GET과 $_..
0. 개요 경희대학교 사이트를 둘러보면서 도장깨기를 하는 중이다. 거의 일주일에 하나씩 분석하면서 취약점 여러개를 찾아봤다. 일단 SW중심대학사업단 홈페이지는 SIRSOFT사에서 개발한 '그누보드'를 기반으로 만들어졌다. 보통 이러한 사이트들은 업데이트를 주기적으로 하지 않기 때문에 '그누보드' 1-day 취약점에도 취약한 편이다. (개인적으로) 그누보드에서 1-day를 사용하는 것은 가오가 살지 않기 때문에 그냥 사이트 자체에서 취약점을 찾아보기로 했다. 1. GNUBOARD PDF Plugin SQL Injection을 통한 데이터베이스 누수 추가예정 루삥뽕
0. 개요 경희대학교에는 컴퓨터공학과, 소프트웨어융합학과로 이루어진 소프트웨어융합대학 단과대가 있다. 나는 컴퓨터공학과에 속해있고, 학과 웹사이트를 보면서 지속적인 유지보수가 되지 않고 있다고 느꼈고 바로 취약점을 찾아보았다. 회원가입시 중복 아이디 많이 취약해서 취약점 분석을 시작한지 5분도 채 되지 않아 취약점을 찾았다. 일단 가장 큰 Logical bug가 존재했다. 1. 아이디 중복 우회를 통한 관리자 권한 탈취 추가 예정 2. 로그인 과정에서의 SQL Injection을 통한 관리자 권한 탈취 추가 예정 3. 검색 부분에서의 SQL Injection && WAF Bypass 추가 예정 4. 관리자 기능에서 파일 업로드 && 파일 업로드 확장자 우회 && WAF Bypass를 통한 Webshell..
한 2월 쯤에 민우랑 같이 경희톡 취약점을 분석했던 적이 있다. 경희톡은 경희대학교 주요 서비스들 중에 가장 취약했었는데, 이제 제보했던 시기도 6개월 정도 흘렀고 취약점도 고쳐진 지 오래라 어떤 식으로 취약점을 분석했고 공격할 수 있었는지 작성해보려고 한다. 프로젝트 배경 및 목적 🎈 경희대학교 학우분들이 애용하는 시간표 관리 및 대학생 커뮤니티 사이트인 ‘에브리타임’(이하 ‘에타’)에서 경희톡에 무분별한 음담패설 및 욕설이 담긴 글에 대한 불만의 글이 학우분들의 공감을 많이 받았다. 해당 글의 첨부자료에는 아래와 같은 스크린샷이 함께 올라와 있었는데, 다음과 같다. 계정의 실제 주인이 아니라 악한 의도를 가진 임의의 공격자가 주인을 사칭하여 글을 올린 것이 아닐까라는 생각이 들었다. 그래서 이 가설을..
코로나19의 여파로 1학기 모든 강의를 비대면 수업으로 진행하였지만, 경희대학교 본부 측에서 시험은 무조건 대면으로 하라는 원칙을 고수하고 있어서 기말고사를 위해서 학교에 왔다. 당연히 컴퓨터공학과였기 때문에 프로그래밍 수업을 듣는다. 프로그래밍 수업을 담당하시는 교수님께서는 합리적이신 분이라 수업도 편하게 들었고 시험도 제일 만족스럽게 보았다. 시험장에서는 강의실 안에서 노트북으로 시험지에 적혀있는 명세 리스트를 구현하는 방식으로 진행되었다. 그런데 강의실에서 학생들이 노트북으로 무엇을 하는지 일일이 알 수 없기 때문에 컨닝의 위험이 있다. 따라서 컨닝의 소지가 있을만한 통신 프로그램들을 확인하는 프로그램을 백그라운드에서 돌리고 시험을 보았는데, 시험 전에 심심해서 이 프로그램을 분석해본 일지를 블로그..
네이버 카페 서비스에서는 글을 쓸 때 Smart Editor 2를 이용한다. 카페 서비스에서 이용하는 Smart Editor 2는 글꼴, 글자 크기 변경, 글자 색 변경 등 다양한 기능을 이용할 수 있고, 비교적 간단하다는 이유로 네이버의 다양한 서비스에 적용되었다. 하지만 Smart Editor 2는 사용자가 작성한 글을 HTML로 서버에 전송하기 때문에, 사용자가 HTML만 조작하면 XSS 공격에 취약할 수 있다는 단점이 있다. 당연히 블로그, 카페 등 Smart Editor 2 를 사용했던 모든 서비스도 XSS 공격에 취약했었으나 네이버의 꾸준한 보안 패치로 현재는 안정화 단계에 접어들었다. '글쓰기에서의 Logical bug를 이용한 Stored XSS' 취약점은 XSS 보안패치의 논리적인 결함을..
Attack Vector. 학교 정보를 수정하는 부분에서 발생하는 취약점이다. 해당 페이지에서 학교 검색을 하면 schCd(학교 고유코드)와 schNm(학교이름)을 설정하는데, 해당 입력값에 대한 적절한 검증 절차가 이루어지지 않은 채로 데이터베이스에 값을 저장하기 때문에 발생한다. Exploit. 개발자 도구를 이용해서 schNm의 value attribute를 수정할 수 있는데, 이를 `한국디지털미'+HOST_NAME()+'디어고등학교`로 설정하게 되면 HOST_NAME() 함수가 실행되고 string concatenation 연산이 수행되어 학교 이름에 HOSTNAME이 들어가는 것을 볼 수 있다. `한국디지털미'+CONCAT(0x3a6e766f3a, 0x52785443657a524b5641, 0x..