목록2025/07/22 (4)
Tyojong
보호되어 있는 글입니다.
기능 분석내 ip와 agent 정보가 뜨면서 Wrong IP! 라는 문자열이 출력된다.view-source 버튼을 누르면 소스코드를 볼 수 있다. 코드 분석 if($ip=="127.0.0.1"){ solve(24); exit(); } 코크들 보면 사용자의 ip가 127.0.0.1이면 문제가 해결된다. extract($_COOKIE);$ip = $REMOTE_ADDR;코드를 보면 php에서 extract함수는 배열을 변수로 바꿔주는 함수이다. 즉 extract($_COOKIE)를 하게되면 cookie의 key값을 변수 이름으로 cookie의 value값을 변수의 값으로 설정하게 된다.해당 코드에서는 ip를 REMOTE_ADDR이라는 변수에서 가져오기 때문에 REMOTE_ADDR이라는 이름으로 ..
query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_orge where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orge"); highlight_file(__FILE__..
query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("darkelf"); highlight_file(__FILE__); ?> 문제 목표if($result['id'] == 'admin') solve("darkelf"); id가 admin이면 해결되지만if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe");or과 and 문자열이 필터링된다. 문제 해결or 대신 || 를 사용하면 필터링을 우회할 수 있다. (sql injection ..