Web 3

[SQL Injection] Pentesterlab 문제 풀이1

[Example 1] 1. 소스코드 확인 가장 간단하고 필터링이 없는 코드이다. 2. SQL Injection 페이로드 입력 ' or '1=1-- 입력으로 공격에 성공하였다. 전체 테이블이 조회가 가능하다 [Example 2] 1. 소스코드 확인 공백을 필터링 한다 2. 필터링 우회 공백 대신 %09(Tab 문자)를 사용한다. → '%09or%09'1=1— [Example 3] 1. 소스코드 확인 정규표현식에 뭔가가 추가되었다 %09를 쓸 수 없다 2. 필터링 우회 %09 대신 /**/(주석) 을 사용한다. → '/**/or/**/'1=1— [Example 4] 1. 소스코드 확인 mysql_real_escape_string 함수가 추가되었다. 2. mysql_real_escape_string php에서..

Web 2022.11.02

[SQL Injection] 종류 및 Prepared Statement

1. 개요 Web Application에서 DB로 전달하는 정산적인 SQL Query를 변조하여 비 정상적인 쿼리문을 전달해 DB 접근을 시도, 보통 사용자의 입력 데이터가 적절하게 검증되지 못하고 SQL쿼리로 바로 입력되기 때문에 발생 DB와 연동되는 스크립트의 모든 파라미터들을 점검하여 사용자들의 입력값이 SQL Injection을 발생시키지 않도록 수정하고, 허용되지 않는 문자열이나 문자가 포함된 경우에는 에러로 처리하여 에러 내용을 사용자에게 보여주지 않고 별도 페이지로 설정한다 ✅ Stored procedure(저장 프로시저), Prepared Statement 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. Prepared Statement 구문을 사용하게 되면 사용자의 입..

Web 2022.11.01

[HTTPS 프로토콜] HSTS 헤더

HTTP Strict-Transport-Security response header HTTP 대신 HTTPS만을 사용하여 통신해야 한다고 웹 사이트에 브라우저가 알리는 보안 기능 HTTP 요청을 받고 301이나 302 응답을 통해 HTTPS로 리다이렉트 하는 경우에 리다이렉트 되기 이전의 암호화 되지 않은 버전의 사이트와 통신하게 된다. HSTS 헤더는 HTTP로 연결하려는 모든 시도는 자동으로 HTTPS로 변경해야 한다고 알린다. preload 설정 시 최초 통신부터 HTTPS로 설정된다 preload가 설정된 주소에 HTTP로 접속하려 하는 경우 307 응답으로 HTTPS가 적용된 페이지로 내부 재 전송 한다 HSTS Preload List란 HSTS가 적용된 웹 사이트의 명단을 모아둔 리스트 정보 ..

Web 2022.10.31