휘갈기갈기 2020. 4. 3. 16:54

#문제

 

#문제 의도

- 입력 값 필터링 규칙 (공통)

if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");

if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");

  1) prob

  2) _

  3) .

  4) ()

- 목표

필터링을 사용하지 않거나 우회하여 쿼리 결과 값의 id가 admin면 해결

 

#확인사항

- prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다.

- 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있어서 기본 구문으로 해결할 수 있을 것이다.