본문 바로가기

Webhacking/Webhacking.kr

[Webhacking.kr] Old-39 풀이

https://webhacking.kr/old.php

 

Webhacking.kr

 

webhacking.kr


그림 1

문제를 열어보니 어떤 값을 입력하는 칸이 있길래 아무 값이나 입력했는데 아무 일도 일어나지 않는다.

 

아래의 소스를 확인해주었다.

 

그림 2

아래의 $db 부분부터 확인해주었다.

일단 입력받은 값이 id이고, 아이디에 \\이 있으면 없애버리는 것 같고, “ ‘ “이 있으면 “ ‘ ‘ “로 바꿔준다고 한다.

그리고 substr 함수를 확인해보니

Substr(“문자열”, “시작 위치”, “길이”) 로 이루어져 있고, 문자열을 시작 위치부터 길이만큼 자른다고 한다.

다시 소스를 확인하보면 id의 처음부터 15글자까지 자른다고 되어있다.

이제 아래의 sql문을 보면, id의 길이가 14보다 작고 id=post[id]이면 1을 출력한다고 하고,

문제가 풀리려면 result가 1이 되어야 한다고 한다.

 

즉, 문제를 풀기 위해서는 id의 길이가 14보다 작아야 하고, id=post [id]이어야 한다고 하는데, 자세히 보니 id = 뒷부분에 작은따옴표 하나가 없다.

그럼 직접 넣어서 조건문을 완성시켜야 하는데, 작은 따옴표작은따옴표 하나는 작은따옴표 2개로 치환된다고 하였으니까 id의 15번째에 입력하여 뒤의 작은 따옴표는 잘릴 것이라고 생각했다.

 

그래서 아무 값이나 id로 주고, 다음은 공백 9글자를 채우고 ‘를 입력해주었더니 문제가 해결되었다.

 

그림 3
그림 4

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

[Webhacking.kr] Old-25 풀이  (0) 2021.09.09
[Webhacking.kr] Old-54 풀이  (0) 2021.09.09
[Webhacking.kr] Old-24 풀이  (0) 2021.09.09
[Webhacking.kr] Old-18 풀이  (0) 2021.08.01
[Webhacking.kr] Old-15 풀이  (0) 2021.08.01