[그림 1]
[그림 2]

소스 코드를 통해 result['lv'] == admin 이면 문제가 풀린다는 것과 lid, lphone은 login을 id, phone은 join과 연관 있다는 것을 짐작 할 수 있다.

 

id는 admin이란 글자가 필터링 되어 있으며 phone은 20자리가 넘으면 안된다고 되어 있다.

ladmin이 되게 생성 해주고 그 계정으로 로그인 하면 풀릴 문제다.

 echo "id : {$result['id']}<br>lv : {$result['lv']}<br><br>";

음 id, lv이 표시되나보다. 이걸로 확인 하면서 구문을 수정해 나가면 될듯 하다.

 

reverse 함수를 이용하여 문제를 풀도록 했다.

[그림 3]

주석을 사용하여 뒷 구문을 다 씹도록 하였다.(phone에 숫자는 뭐가 들어가든 상관 없다.)

 

insert into chall59 values('{$_POST['id']}',{$_POST['phone']},'guest')

이를 보면 id, phone, guest 순으로 값이 정렬된다.

 

insert into chall59 values(nimda,1,admin);-- ,'guest')

구문에 따라 값을 넣어보면 이런식으로 들어간다.

 

insert into chall59 values(nimda,1,admin);-- 

주석문으로 뒤를 다씹게 되면 온전한 하나의 쿼리문이 된다.

[그림 4]
[그림 5]

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 61번 문제 풀이  (0) 2020.02.22
Webhacking 60번 문제 풀이  (0) 2020.02.22
Webhacking 58번 문제 풀이  (0) 2020.02.20
Webhacking 56번 문제 풀이  (0) 2020.02.20
Webhacking 54번 문제 풀이  (0) 2020.02.20

+ Recent posts