반응형
14.Giant 풀이.
if(strlen($_GET[shit])>1) exit("No Hack ~_~");
변수 shit은 길이가 1이하로 제한.
if(preg_match('/|\n|\r|\t/i',$_GET[shit])) exit("HeHe");
즉 문자열 길이가 1을 넘으면 X. space, \n(줄 바꿈), \r(줄 처음), \t(tab)을 필터링 해놨다.
다시 말해 %20, %0A, %0D, %09가 필터링 되어있다.
한 칸을 차지하는 공백 문자를 써야된다.
%20을 대신할만 한 문자는............
%0A,%0D,%09 (<== X) %0B or %0C 사용하면 된다.
그렇다면 문제의 쿼리문.
$query = "select 1234 from[$_GET[shit]}prob_giant where 1";
위의 쿼리문에 from과 table 이름이 이미 존재.
즉 shit=%0B or shit=%0C 둘 다 가능.
둘 중 어느 걸 해도 해결 가능.
Cf) 좀만 생각해보면 된다.
반응형
'# Related site issues > LOS' 카테고리의 다른 글
16.zombie_assassin. (0) | 2018.05.08 |
---|---|
15.Assassin. (0) | 2018.05.08 |
13.Bugbear. (0) | 2018.05.08 |
12.Darkknight. (0) | 2018.05.07 |
11.Golem. (0) | 2018.05.07 |