강의를 듣고 정리한거 이후 수정할 예정임 Prepared Statement는 SQL Injection을 막는 방법 중의 하나이다. SQL Injection을 막을 때는 1. Prepared Statement 2. 입력값 검증 로직(입력 타입에 따른) 3. 입력 길이 제한 으로 시큐어 코딩을 적용한다고 한다. 보통 1이 우선순위가 제일 높고 2,3이 보조하는 구조임 그럼 Prepared Statement 에 대해 알아보자 SQL에 쿼리를 날리고 실행되는 구조는 다음과 같다. 1. 구문 분석 및 정규화 2. 컴파일 3. 트리 최적화 4. 캐시 5. 실행 문자열로 쿼리를 적당히 만들어 두고 execute하면 statment이다. 1,2,3,4,5 를 바로 간다. prepared statement는 3까지 간다..
강의듣다가 급하게 정리한 내용임. 이후 변경 예정 SQL Injection/데이터 조회 공격/Blind Based blind based : 다른 애들 (error based, union based)에 비해 전제 조건 거의 없음 -> error based는 DBMS의 에러가 직접 찍혀야 함 -> union based는 query문의 영향을 많이 받음. 그리고 뒤에 위치해야 함(terminating 이 필요하므로) -> 응답을 통해 데이터를 추론한다 -> 보통은 요청에 대해 True, False인지만 파악할 수 있으므로, 이걸 기반으로 추론. 즉 아주 많은 T/F로 값 재구성한다고 생각하면 됨 -> 순차 탐색, 이진 탐색, 비트 단위 탐색 을 SQL Injection 과 연결해서 사용 SQL Injectio..
- Total
- Today
- Yesterday
- 최대한 간략화하기
- 스택
- 이것도모르면바보
- BOJ
- 백준
- 삽질
- 그리디
- docker-compose update
- 파이썬
- vscode
- factory_pattern
- 위상정렬
- django testcase
- requests
- jwt
- endl을절대쓰지마
- 프로그래머스
- 코딩테스트
- Javascript
- 힙
- SQL
- django test
- Event Sourcing
- 불필요한 값 무시하기
- Til
- SSL
- 우선순위큐
- Remote
- Python
- cipher suite
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |