[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정
01. Stage 1 - String SQL Injection
Neville로 로그인 시도해보자
- 입력 창에 항상 참이 되는 구문 삽입
a' or 'a' = 'a
길이 제한이 8로 걸려있음
변경 후 넣어주기
- proxy 사용
02. Stage 3 - Numeric SQL Injection
Larry 사용자로 로그인해서 Neville 사용자의 profile을 확인해보자
Neville를 검색하면 error가 뜬다
접근 통제된 모습
try
{
String query = "SELECT employee.* "
+ "FROM employee,ownership WHERE employee.userid = ownership.employee_id and "
+ "ownership.employer_id = " + userId + " and ownership.employee_id = " + subjectUserId;
try
{
Statement answer_statement = WebSession.getConnection(s)
.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet answer_results = answer_statement.executeQuery(query);
String query = "SELECT employee.* "
+ "FROM employee,ownership WHERE employee.userid = ownership.employee_id and "
+ "ownership.employer_id = " + userId + " and ownership.employee_id = " + subjectUserId;
userId → larry (세션 = 변조 불가능)
subjectUserId → Neville → 모든 데이터를 조회한 후 Neville가 가장 처음에 위치하게 설정
→ 101 or 1 = 1order by employee_id desc (사번이 가장 큼)
Larry 권한으로 Neville 조회 가능
728x90
'Rookies > 애플리케이션 보안' 카테고리의 다른 글
[SK shieldus Rookies 19기] Injection 취약점 - Command injection (0) | 2024.03.25 |
---|---|
[SK shieldus Rookies 19기] bWAPP bee.box - Sql injection (0) | 2024.03.24 |
[SK shieldus Rookies 19기] WebGoat - String / Numeric / Blind sql injection (0) | 2024.03.24 |
[SK shieldus Rookies 19기] Injection 취약점 - SQL injection (0) | 2024.03.24 |
[SK shieldus Rookies 19기] proxy 설정 (0) | 2024.03.24 |