webhacking.kr 61번 write up

2023. 1. 1. 17:30·웹/웹 해킹 문제 풀이

61번 문제의 화면이다. 소스코드를 확인해보자

 get 메소드 방식으로 요청한 id의 값이 없으면 기본 값으로 "guest"를 지정한다.  

id의 값은 addslashes 함수로 ' " 쿼터가 있으면 쿼터앞에 \ 백슬래쉬가 붙는다. 특수문자를 인식하기 위해 사용하기도 하며 sql injection 공격을 필터하기 위해도 사용한다. 마찬가지로 preg_match 함수로 특정 문자를 필터링한다. 

id의 값은 16글자 이상이면 안되며 result변수에 데이터를 가져와 배열화 시킨다. id의 값이 admin이면 문제가 해결된다. 

 

get 요청으로 id값을 요청해보면 

위와 같이 $result['id'] 값이 test가 된다.  즉 테이블에 id컬럼에 test값이 있는 것이다. 

문제를 해결할려면 id컬럼에 test가 아닌 admin이 있어야한다. 첫번째 줄에 말이다. 

 

여기서 쓰일 개념이 mysql의 as( 컬럼 별칭) 과 16진수 변환이다. 

mysql에서는 as로 컬럼의 별칭을 줄 수 있으며 text를 16진수로 변환해도 text로 출력해준다.

 

select "a"; 를 통해 테이블을 생성하고 as로 컬럼의 명칭을 바꿀 수 있다. 이때 as는 생략가능하다. 

 

문제의 url에 "admin" as id 를 입력하면 아무런 변화가 없다. " 가 addslashes함수로 인해 필터링 되서 그런것이다.  

따라서 "admin" 텍스트를 16진수로 변환한다.   admin => 0x61646d696e 

  

16진수로 변환한 값을 select 0x61646d696e; 하면  컬럼은 16진수 그대로 출력이 된다. 

여기서 as 를 이용하여 컬럼 명을 바꿔준다. 이때 as는 위와 같이 생략가능하다. 

 

url 부분에 0x61646d696e id를 입력하면 문제가 해결된다.

 

 


문제 핵심 

1. 필터링 함수 

2. mysql as 기능 

3. mysql 16진수 변환  

저작자표시 (새창열림)

'웹 > 웹 해킹 문제 풀이' 카테고리의 다른 글

webhacking.kr 12번 문제풀이  (0) 2023.01.02
webhacking.kr 6번 write up  (0) 2023.01.01
webhacking.kr 59번 write up  (0) 2022.12.29
webhacking.kr 42번 write up  (0) 2022.12.29
webhacking.kr 36번 write-up  (0) 2022.12.24
'웹/웹 해킹 문제 풀이' 카테고리의 다른 글
  • webhacking.kr 12번 문제풀이
  • webhacking.kr 6번 write up
  • webhacking.kr 59번 write up
  • webhacking.kr 42번 write up
-송현우-
-송현우-
  • -송현우-
    모험
    -송현우-
  • 전체
    오늘
    어제
    • 분류 전체보기 (108)
      • 웹 (66)
        • 취약점 진단 (5)
        • 웹 해킹 문제 풀이 (45)
        • 모의해킹 실무 과정 (15)
        • CS (1)
      • 모바일 (0)
      • 인프라 (10)
        • Infra 보안점검 (10)
      • 클라우드 (0)
      • 네트워크 (1)
        • 네트워크 기초 이론 (1)
      • 자격증 (12)
        • 정보보안기사 (2)
        • 정보처리기사 (2)
        • CPPG (1)
        • 리눅스마스터2급 (1)
        • bhpt (4)
        • 컴활 (1)
        • ISMS-P (1)
      • 개발 (16)
        • 백준 (12)
        • 게임 (3)
      • CTF (0)
      • OS (1)
        • linux (1)
      • 낙서장 (2)
        • 정리노트 (0)
        • 공부 계획 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    webhacking.kr 43번
    wehacking.kr
    WarGame
    불충분한 인가
    webhacking
    문제풀이
    2023년도 4회차 실기
    write up
    webhacking.kr
    너의 평점은
    2주차 정리
    주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드
    write-up
    백준
    bwapp
    webhacking.kr 21
    웹해킹
    행렬덧셈
    정보보안기사 합격 수기
    불충분한 인증
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
-송현우-
webhacking.kr 61번 write up
상단으로

티스토리툴바