LOS: https://los.eagle-jump.org/
저 괄호가 왜 있는가 고민했다.
그냥 한글자라도 더 쓰게 하려고인가? 다른 의미가 있나?
연습용 DB에서 테스트 해보니.. 별 것 없는 듯
그냥 그러려니 했다.
1.
코드를 보니, pw는 6글자까지만 허용된다.
우선 괄호 닫아야 뭘 하던가 하니 닫아줬다.
pw=')
여기서부터 막막해지기 시작했는데...
2.
뒷 부분 주석을 어떻게 달아야 하나 고민.
#과 -는 필터링되고, 내가 아는 주석은 이 외에 /* */ 과 ;%00뿐이다.
*/는 닫아줘야 하니까 제외하고 ;%00사용할 것.
이제 pw에 뭘 더 넣어야 참이 되는가?
[내가 해본 시도]
?pw=') 1;%00
?pw=') 0;%00
?pw=') %;%00
?pw=') a;%00
?pw=')=1;%00
.
뭘 계속 넣냐고요? 어떻게 해야할지 몰라서 막 넣었습니다.
그런데 이게 또 풀려버림.
3.
왜지?
왜 풀렸을까 고민한 시간이 더 길었다. 근데 모르겠어서 결국 써칭.
써칭해서 찾은 이유
- 1=1과 같은 의미로 ('')=0이 사용됨. (o)
- ('')는 결국 없는 값이기 때문. 거짓인 0과 비교했을 때 참이라서?
('') 자체가 없는 값을 의미하는 건 아닌 것 같다.
('a')=0 해도 참이 되었기 때문이다.
더 찾아보니.. 문자열과 숫자를 비교할 때 문자열이 숫자로 형변환이 일어난다. (우선순위 문제인 듯)
문자열이 숫자로 형변환이 되었는데, 문자의 경우 0으로 변환된다고..
그래서 결국 0=0이라 참이다.
[+] 그냥 의문이 들어서 추가로 해본 것
이것도 된다^^
'Play > wargame' 카테고리의 다른 글
blind-command writeup (0) | 2023.07.25 |
---|---|
DOM-XSS writeup (0) | 2023.07.24 |
[LOS] Load of SQLInjection 16번 (ZOMBIE_ASSASSIN) (0) | 2022.11.11 |
(webhacking.kr) g00gle, g00gle2 풀이 (0) | 2022.11.04 |
(webhacking.kr) 24번 풀이. 그리고 의문/해결! (2) | 2022.11.03 |