Season 1/워게임 Old - 07 작성자 - 알 수 없는 사용자 문제 메인화면 - 문제 접속 시 메인 화면이다. - url 파라미터로 val이 전달되는 것을 확인 - view-source를 클릭! view-source - url파라미터로 전달된 val이 preg_match() 함수를 통해 필터링되는 것을 확인 - 필터링을 우회하여 sql injection 공격 수행, 결과 값으로 2를 받아오면 문제 해결 - 필터링되는 문자 2, -, +, from, _, =, 공백, *, / - 숫자 2가 필터링되므로 char() 함수를 이용, 아스키코드로 문자를 지정 - val=char(50)으로 설정하여 시도 결과 - query error 발생 - sql injection은 성공하였으나 테이블에 lv=2 값이 존재하지 않아 query error발생 - sql문을 통해 직접 결과값을 2로 반환하도록 시도 - val = 3)union select char(50 로 설정하여 기존의 sql문을 종료하고 2를 반환하는 sql문 설정 - db에 질의되는 sql문 = "select lv from chall7 where lv=(3)union select char(50)" - 공백 필터링을 우회하기 위해 괄호를 사용 val = 3)union(select(char(50)) 문제 해결 공유하기 게시글 관리 MSS 'Season 1 > 워게임' 카테고리의 다른 글 Old - 27 Write Up (0) 2021.05.16 Old - 19 Write Up (0) 2021.05.16 Old - 54 Write Up (0) 2021.05.15 Old - 39 Write Up (0) 2021.05.15 Old - 38 Write Up (0) 2021.05.15 Contents 당신이 좋아할만한 콘텐츠 Old - 27 Write Up 2021.05.16 Old - 19 Write Up 2021.05.16 Old - 54 Write Up 2021.05.15 Old - 39 Write Up 2021.05.15 댓글 0 + 이전 댓글 더보기