id가 admin이면 풀린다. 그러나 id에는 guest 값이 고정되어있고, no 값만 받게끔 되어있다.
id를 admin으로 만들기
no에는 정수형 값을 받는다. 아무런 값(숫자)을 넣은 후, id 값을 이어서 넣어줄 수 있다.
새로 만들어준 id 값은 파라미터로 보면 no 영역에 입력되기 때문에, ', ",` 등 따옴표가 필터링되어있어서(6번째 줄) 문자열로 인식시킬 수 없다.
우회를 위해 주석처리 #을 %23으로 나타낸 것처럼, '도 %27로 입력해보았으나, 마찬가지로 필터링되어있어서 불가능했다.
값을 넘기기 위해서는 해당 값이 문자열이라는 것을 알릴 수 있는 다른 방법이 필요하다.
시행착오 1
더보기
처음에는 concat() 함수를 사용해서 값을 전달해줄 수 있나 해봤지만, 안 됐다.
시행착오 2
더보기
그래서 다른 방법을 생각해봤다.
아스키코드로 값을 넘기기로 했다.
a = 97
d = 100
m = 109
i = 105
n = 110
근데 아스키코드만 단독으로 사용하니 불가능하더라.
이번에는 문자열이라고 인식할 수 있게 하기 위해 char() 함수를 사용했다.
char()은 아스키코드 번호를 받아 해당하는 문자열을 리턴해주는 함수다.
시행착오 2에서 사용한 아스키코드와 같이 사용했다.
그랬더니 각각의 아스키코드에 맞는 문자열이 반환되어 admin으로 인식되어 문제가 풀렸다.
'Web > Los' 카테고리의 다른 글
Los - orc (0) | 2020.12.29 |
---|---|
Los - cobolt (0) | 2020.12.04 |
Los - gremlin (0) | 2020.07.15 |
댓글