선릉역 1번 출구
Webhacking_39 문제풀이 본문
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번째에 '를 작성하는게 핵심이다.
'Hacking & Security > Web_hacking 문제풀이' 카테고리의 다른 글
Webhacking_12 문제풀이 (0) | 2021.08.23 |
---|---|
LORD OF SQLINJECTION - dragon (0) | 2021.08.20 |
LORD OF SQLINJECTION - nightmare (0) | 2021.08.20 |
LORD OF SQLINJECTION - zombie_assassin (0) | 2021.08.20 |
LORD OF SQLINJECTION - succubus (0) | 2021.08.20 |
Comments