재밌는 그누보드 RXSS

0. 개요 회사에서 사이드프로젝트 느낌으로 오픈소스 CMS 분석을 하고 있다. 고등학교 1학년 때부터 그누보드를 취약점 분석해보겠다고 말만 하다가 처음으로 진지하게 분석해보고 있는데, 생각보다 취약점을 쉽게 찾을 수 있었다. 거의 RXSS이긴 했지만 그래도 취약점은 취약점이니깐 🤭 ㅎ 1. 취약점 분석 🎮 그누보드만의 특징이라고 하면 이것을 빼놓을 수 없다. 아래는 그누보드를 한번이라도 분석해 본 사람이라면 알 common.php 의 코드이다. common.php는 거의 모든 파일에서 include 되어 실행되며, extract() 함수를 사용하여 사용자로부터 변수를 입력받는다. 이 점 덕분에 변수를 편하게 사용할 수 있다는 점이 장점이지만, 보안 취약점에 노출된다는 큰 단점이 생긴다. $_GET과 $_..

여자친구 해킹 시도한 중국인 해커들 뚜까팬 썰

사건 개요 👽 어느날 여자친구랑 같이 있다가 여자친구 핸드폰으로 문자메시지가 착신되었다. 정확히는 기억이 나질 않는데, 여자친구가 클릭해보고 나서 '이 페이지는 위험합니다'라는 메시지가 떴다고 알려줘서 피싱 사이트겠다고 추측했다. 그냥 호기심에 저 URL을 분석해보기 시작했다. URL 분석 🤺 문자에 첨부된 URL에 curl을 통해 HTTP Request를 보냈더니 아래와 같은 Response가 도착했다. ➜ ~ curl -lvvv http://reurl.kr/464D5677VB * Trying 210.180.118.169... * TCP_NODELAY set * Connected to reurl.kr (210.180.118.169) port 80 (#0) > GET /464D5677VB HTTP/1.1..

경희대학교 SW중심대학사업단 사이트 취약점 분석

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..

Django How to delete superuser

Create Django Superuser $ python manage.py createsuperuser Delete Django Superuser (venv) $ python manage.py shell Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from django.contrib.auth import get_user_model >>> >>> User = get_user_model() >>> User.objects.get(usern..

Django Parsing Json in Function based view

Django를 사용해서 RESTful API를 만들 일이 많아졌는데, 이 때 function based view에서 어떻게 하면 자동으로 JSON 형식의 데이터를 파싱하고 Swagger(drf-yasg)에 API화 할 수 있는지 포스팅하려고 한다. settings.py REST_FRAMEWORK = { 'DEFAULT_PARSER_CLASSES': [ 'rest_framework.parsers.JSONParser', ] } app/views.py from django.http import JsonResponse from rest_framework.parsers import JSONParser from rest_framework.decorators import api_view, parser_classes ..

Django Customizing Default User Model

장고를 사용하다보면 User Model에 새로운 정보를 추가해야 할 상황이 생긴다. 가장 쉽고 간편한 방법은 ProxyModel을 만드는 것이지만, 굳이 그렇게 하고 싶지 않은 상황이 올 수 밖에 없다. 최근 이러한 경우가 생겨서 관련 내용을 포스팅해보려고 한다. User/models.py # coding: utf-8 from django.db import models from django.contrib.auth.models import AbstractUser, UserManager as BaseUserManager from django.core.exceptions import ObjectDoesNotExist from django.db.utils import IntegrityError class Use..

경희Talk 취약점 분석기

한 2월 쯤에 민우랑 같이 경희톡 취약점을 분석했던 적이 있다. 경희톡은 경희대학교 주요 서비스들 중에 가장 취약했었는데, 이제 제보했던 시기도 6개월 정도 흘렀고 취약점도 고쳐진 지 오래라 어떤 식으로 취약점을 분석했고 공격할 수 있었는지 작성해보려고 한다. 프로젝트 배경 및 목적 🎈 경희대학교 학우분들이 애용하는 시간표 관리 및 대학생 커뮤니티 사이트인 ‘에브리타임’(이하 ‘에타’)에서 경희톡에 무분별한 음담패설 및 욕설이 담긴 글에 대한 불만의 글이 학우분들의 공감을 많이 받았다. 해당 글의 첨부자료에는 아래와 같은 스크린샷이 함께 올라와 있었는데, 다음과 같다. 계정의 실제 주인이 아니라 악한 의도를 가진 임의의 공격자가 주인을 사칭하여 글을 올린 것이 아닐까라는 생각이 들었다. 그래서 이 가설을..