SQL INJECTION 문제다! 내가 블로그에 제일 처음으로 업로드한 문제와 비슷! 그땐 SQL INJECTION 들어본 적도 없는데 이젠 들어봤다! 근데 150점짜리인만큼 100점짜리와 다르지 않을까,,,라는 생각을...
그 문제랑 똑같은데 단지 preg match안에 있는 부분이 좀 다르다.
여기선 #와 select와 (와 (공백)와 limit와 = 와 0x
를 쓰면 안된다.
또, 쿼리에 있어서 no안에 괄호가 있어서 or로 우선순위를 바꿀 수가 없다ㅜㅜ
근데, 괄호를 닫아주는 방법이 있다! 이문제는 다양한 우회 방법이 요구된다.
-
첫번째 괄호는 )로 닫아주고, 뒷괄호는 (로 닫아주고 싶은데, (를 쓰면 no hack가 뜬다. 그렇기 때문에 뒷 괄호는 주석처리 해줘야한다. (그리고 그 주석기호는 #가 아니라 --를 써야한다. 그리고 #는 뒤에 공백이 없어도 되지만 --주석 처리를 사용하려면 맨뒤에 공백이 있어야한다.)
-
그리고, no=2를 써줘야하는데, =를 사용하면 안되기 때문에 = 우회를 하는 방법을 알아야 한다.
-
또, 공백을 사용할 수 없기에 %20(공백) 대신에 %09(탭) 사용해야 한다.
이참에 SQL INJECTION에 사용되는 다양한 우회 방법에 대해 찾아봤다.
다른 사람들이 정리해놓은거 참고해봤다..ㅎㅎ
위와 같이 URL을 바꿔주면 문제 풀이 성공!
'해킹 공부 > 웹해킹' 카테고리의 다른 글
Socket.io, 소켓통신 (0) | 2020.10.12 |
---|---|
개발자 콘솔 도구, captcha (3) | 2020.10.06 |
포트포워딩(port forwarding) (0) | 2020.10.02 |
SMTP/ Mail header injection (0) | 2020.10.01 |
LFI 취약점, php wrapper (0) | 2020.09.30 |
댓글