message를 적을 수 있고 secret 옵션으로 yes, no가 있다.그리고 Secret key를 입력할 수 있고 phps 소스 파일이 주어져 있다. 소스 파일을 보면 $_POST[pw]와 $secret_key가 같으면 문제를 풀 수 있고, $_GET[msg]와 $_GET[se] 값을 입력하면 $_SESSION[id]와 $secret_key와 함께 challenge57msg 테이블에 삽입이 된다.msg를 입력할때 $_GET[se]는 yes를 선택하면 1, no를 선택하면 0의 값이 같이 삽입되는 것을 볼 수 있다.$_GET[se] 값이 1일 경우에는 Done 표시가 발생하나 0일 경우에는 표시가 발생하지 않는 것을 알 수 있다.(다른 방법으로 0을 입력해보면 1과 동일하게 Done 표시가 발생하여 공..
BOARD 게시판에 2개의 글과 검색 기능을 볼 수 있다. admin의 readme 글을 눌러보면 아래와 같이 access denied가 표시되면서 내용을 볼 수가 없다. guest의 hi~ 글을 눌러보면 아래와 같이 hi~ 라는 내용을 볼 수가 있다. 즉, admin이 작성한 readme의 내용을 보면 문제를 풀 수 있다. 검색 기능을 이용하면 내용을 알아낼 수 있다.h를 검색하면 모든 글이 목록에 표시가 되고 i를 검색하면 guest 글만 표시가 된다.내용의 일부만으로 검색이 되는 것을 알 수 있고 admin에 내용 중에 h는 있지만 i는 없는 것을 알 수 있다.이러한 방법으로 admin의 내용을 유추할 수는 있지만 비효율적이다. SQL에서 Like를 이용한 비교에서 _ 와 %가 와일드 카드 문자로 ..
크롬에서는 동작하지 않지만 IE에서는 초록색 물컹이가 마우스 포인터를 잡으러 따라온다.rank를 눌러보면 다른 사람의 점수를 볼 수 있다. score 점수가 2147483647int 형(32 비트) 최대값이다. 마지막에 small letter 이라는 표시가 있다.다른 정보를 알아보기 위해서 소스를 보면 hint가 나와있다. 테이블에 대한 정보가 힌트로 나와있다.(ip는 id와 같고, score, password가 있다.) 점수를 클릭해보면 id // score 가 표시가 된다. or 또는 || 를 이용해서 항상 참으로 만들어주면 id에 localhost가 표시된다.조건이 거짓이 될 경우 score에 해당하는 id가 표시된다.즉, 이를 이용해서 SQL Injection을 할 수 있다.하지만, union, ..