Almon Dev

모의해킹 공부 (6주차 정리) 본문

모의해킹/모의해킹

모의해킹 공부 (6주차 정리)

Almon 2024. 11. 22. 15:42

6주 차 강의

 

SQL Injection

사용자가 sql문을 삽입해서 인증을 우회하는 방법

  • DB를 사용하는 곳을 찾아야 함
  • db에서 가져온 데이터가 화면에 출력되는가?
    • 데이터가 나오는 경우 : 게시판 => 게시글이나 작성자 등
    • 나오지 않는 경우 : 로그인, 중복체크 => 결과만 알 수 있음

 

데이터 추출 방법

웹페이지에 데이터가 출력되는 경우 union을 이용해서 데이터를 출력할 수 있습니다.

union : select를 한번 더 사용 가능하게 해주는 sql문법
ex) select * from member union select ~~~
=> 컬럼수가 같아야 합니다.

order by : 특정 컬럼을 기준으로 정렬하는 sql 문법
ex) order by [column or index] [desc/asc]
=> select의 가장 뒤에 위치하며, 컬럼명이나 컬럼의 인덱스를 기준으로 정렬합니다.
=> 인덱스를 이용해서 select문에서 가져오는 컬럼의 개수를 확인할 수 있습니다.

 

UNION SQL Injection Process

1. SQL Injection의 포인트 찾기 => sql injection이 가능한 입력창 찾기

2. Column 개수 확인하기 => order by를 이용해서 column 개수 확인

3. 출력되는 컬럼의 위치 찾기 => select문의 몇 번째 column이 화면에 출력되는지 확인

4. DB 이름 확인 => database()를 이용해서 db이름 확인

5. Table 이름 확인 => information_schema db의 tables를 확인

=> select table_name from information_schema.tables where talbe_schema='DB_NAME'

6. Column 이름 확인 => information_schema db의 columns를 확인

=> select table_name from information_schema.columns

where talbe_schema='DB_NAME' and table_name='TABLE_NAME'

7. 데이터 추출

 

과제

1. union sql injection 복습
2. ctf사이트의 doldol 데이터만 출력하기
3. ctf 문제 풀기
4. 웹개발
=> 로그인
=> 회원가입
=> 마이페이지
=> 게시판

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

ctf 풀이 ( SQL Injection 2 )  (1) 2024.11.24
ctf 풀이 (SQL Injection 1)  (0) 2024.11.23
ctf 풀이 (Pin Code Crack)  (2) 2024.11.20
ctf 풀이 (admin is mine)  (1) 2024.11.19
ctf 풀이 (Secret Login)  (2) 2024.11.18