수업

12/14

진태현 2023. 12. 14. 11:16

bee box

kali 

tomcat

 

run.bat 실행 후 PID확인 > 작업관리자 상세보기에서 PID 작업끝내기 

 

*netstat -ano

 

vm에서 beebox 구동

 

 

burp suite 를 이용 해서 수량과 단가 조절 

단가, 수량 조절

>> 입력 값 검증에 대한 형식이나 내용 검증을 필요로 해야 함. 

 

서버 처리 예측하는 쿼리문 작성

- select * from employees where id = 112 and pw = 'a''

-  에러 로깅 메시지 발생 

> 오류 유발 입력값이 그대로 전달 되어 사용 

proxy intercept로 로그인 성공 

>> 화면에서만 글자 제한 

*서버또한 글자 제한의 검증이 필요, 입력 값 그대로 쿼리문 생성, 실행에 사용하기 때문에 발생하는 문제 

SQL Injection 취약점 

 


메타 문자

http:// www. example.com/path/file?name=hong&age=23

- ? : 파라미터의 처음

- = : 파라미터 이름과 값을 구분

- & : 파라미터와 파라미터 구분

 

select from users where id = 'hong' and pw = '1234'

- 'hong' : 문자열 데이터 시작과 끝

 

Band&Luice 문자열을 보낼 때 문제

http://www.example.com/path/file?company_name=Bandi&Luice 

- 뒤에 &는 파라미터와 파라미터를 나타내는 메타데이터로 해석 

 

>>>>메타데이터의 의미를 제거하고 문자 자체로 사용해야 함 (이스케이프)

 

- 인코딩

- 특정 기능에서 정해진 방법으로 > = 'hong's junior 2' > = 'hong''s junior 2' , = 'hong\'s junior 2'

- 이스케이프를 의미하는 의미 문자를 이용해서 처리 > =Bandi &26 Luice  

* &26 url에서 특수기호를 사용할 때 URL 인코딩 방법  

 


WEB goat String SQl Injection

취약점: SQL Injection

테스트
소스코드를 봤을 때, maxlength 입력 제한을 볼 수 없음.
긴 문자열을 넣었을 때, No results matched. Try Again 문구 출력 확인 
Smith 유효한 값
Smith' or 'a'='a SQL쿼리 입력 시 사용자 정보 불러옴 


결과
SQL 쿼리로 사용자 정보 접근 가능