2022. 3. 31. 14:16ㆍSite/LOS
이번시간에는 wolfman을 풀어보겠습니다
아직 공부하는 입장이라 틀린것이 있더라도 양해부탁드리겠습니다
먼저 첫번째 preg_match함수를 사용하여 prob _ . ( )이 있으면 No Hack ~_~ 이라 출력을 해주고
두번째 preg_match함수에서 공백이 있으면 No whitespace ~_~라고 출력을해줍니다
prob_wolfman테이블에서 get방식으로 받아온 pw값과 id가 guest인 id값을 query에 저장을하고
id값이 있다면 Hello와 해당 id값을 가진 데이터를 출력해줍니다
그리고 id값이 admin이라면 클리어입니다
이번에는 공백을 검열기때문에 공백 문자(%20)을 사용을 못할 것 같습니다
접근방법은 공백문자 우회를 하여 id값이 admin으로만 만들어 주면 될 것 같습니다
*
공백문자우회
Tab : %09 -> no=1%09or%09id='admin'
Line Feed (\n): %0a -> no=1%0aor%0aid='admin'
Carrage Return(\r) : %0d -> no=1%0dor%0did='admin'
주석 : /**/ -> no=1/**/or/**/id='admin'
괄호 : () -> no=(1)or(id='admin')
더하기 : + -> no=1+or+id='admin'
*
여기서 저는 %09를 사용하여 접근하겠습니다
id='guest' and pw=''%09or%09id='admin
id=admin으로 만들기 위해 밑줄친 부분을 false값으로 만들고 id=admin으로 해주면 클리어될 것 같습니다