Today I Learned …
[Lord of SQL Injection] 10번 skeleton 풀이 본문
* 개인적인 공부 내용을 기록한 글입니다.
이전 문제
https://choco4study.tistory.com/97
10번 문제 skeleton 분석 및 풀이
10번 문제는 다음과 같다.
solve의 조건은 id==admin 이다.
준비된 쿼리문은 다음과 같다.
$query = "select id from prob_skeleton where id='guest' and pw='{$_GET[pw]}' and 1=0";
지금까지 해온 것처럼,
$_GET[pw] 부분에 적절한 쿼리문을 넣어 id='admin'이 정상 처리되게끔 해주면 된다.
$_GET[pw]를 기준으로
앞부분의 쿼리는 싱글쿼터를 하나 삽입함으로써 FALSE로 만들어주고,
뒷부분은 주석 처리하여 무시되게끔 해주면 될 것 같다.
즉, 목표는 준비된 쿼리문을 다음과 같이 변조해주는 것이다.
$query = "select id from prob_skeleton where (id='guest' and pw='') or id='admin' #' and 1=0";
① 논리연산자의 실행 순서에 따라 앞부분 조건절은 하나로 묶여 FALSE로 처리됨
② || id='admin' 을 삽입하여 id가 admin인 레코드를 뽑아옴
③ 뒷부분은 주석으로 날려줌
복잡해보이지만 지금까지와 다를 바 없다.
입력할 쿼리문은
' or id='admin' %23
이다.
답을 넣어보면,
10번 문제가 풀린다.
'Wargame > Lord of SQL Injection' 카테고리의 다른 글
[Lord of SQL Injection] 12번 darkknight 풀이 (0) | 2021.12.09 |
---|---|
[Lord of SQL Injection] 11번 golem 풀이 (0) | 2021.12.08 |
[Lord of SQL Injection] 9번 vampire 풀이 (0) | 2021.12.08 |
[Lord of SQL Injection] 8번 troll 풀이 (0) | 2021.12.08 |
[Lord of SQL Injection] 7번 orge 풀이 (0) | 2021.12.07 |
Comments