선릉역 1번 출구

Webhacking_39 문제풀이 본문

Hacking & Security/Web_hacking 문제풀이

Webhacking_39 문제풀이

choideu 2021. 8. 23. 12:26

view-source를 클릭해 소스코드를 확인하자

str_replace(변경할 문자열, 바꿀 문자열, 대상)이다.

여기서 query가 true인 행의 갯수만큼 1이 반환된다. 그러니까 1개라도 있으면 성공이다.

그리고 \ -> 공란, '는 ''으로 replace되고 있고 POST되는 내용의 0에서 시작해 15size만큼의 내용까지만 POST['id']값으로 사용한다.

 

mysql에서 'a'와 'a '는 같다. 공백을 따로 구분하지 않는다는 것인데 이 성질과 substr을 적절하게 섞은 'admin' == 'admin         '를 사용하면 '가 ''로 바뀌지만 15까지 자르기 때문에 결국 admin이 된다는 것이다. 이미 앞에  '가 있기 때문에 작성은 admin         '으로 해준다.

id=admin인 행이 존재하기 때문에 1이 result에 반환되고 결국 if문을 만족해 clear하게 된다.

clear

 

+다른 값도 가능하고 그냥 15번째에 '를 작성하는게 핵심이다.

Comments