문제 페이지를 보면 메모와 파일을 업로드할 수 있는 것을 볼 수 있다. 위와 같이 메모와 함께 파일을 업로드해보면 아래와 같이 파일명이 3글자 이상 안된다는 것을 알 수 있다. 파일명을 123으로 해서 내용은 test 로 올려보면 아래와 같이 메모와 파일이 업로드되어 올라간 것을 볼 수 있다. 실제로 업로드된 파일에 접근해보면 내용이 null 로 변경이 되는 것을 알 수 있다. 삭제를 해보면 mode=del 과 time=1440951597 값이 전달이 되면서 메모와 업로드된 파일이 삭제되는 것을 확인할 수 있다. 구조는 알 수 없지만 파일명이 3글자로 제한되어 있다는 점과 삭제를 할 때 time 값을 토대로 데이터베이스에서 비교를 통해서 메모와 파일이 삭제되는 것이라 생각할 수 있다. 그리고 삭제를 할 ..
Mail Header injection 문제이다. 문제가 요구하는 답을 입력할 경우 문제가 풀리도록 하드 코딩되어 있다.소스를 보면 index.phps 소스 파일이 주어져 있다. 소스 파일을 보면mail("admin@webhacking.kr","readme","password is $pass",$header);부분을 볼 수 있는데 여기서 조작을 할 수 있는 부분은 $header 부분 밖에 없다. mail() 함수에 대한 자세한 내용은 아래 페이지에 자세하게 나와 있다.참고(http://php.net/manual/en/function.mail.php)bool mail ( string $to , string $subject , string $message [,string $additional_headers ..
level 1을 전송해보면 아래와 같이 zzibong information, money : 10000 이라는 정보를 얻을 수 있다. 소스를 보면 index.phps 소스 파일이 주어져 있는 것을 알 수 있다. 소스 파일을 보면 lv 부분에 여러가지 필터링이 되어 있는 것을 볼 수 있다. 실행이 되는 Query를 보면 입력 부분이 상수형으로 되어있는 것을 알 수 있다."select id,cash from members where lv=$_GET[lv]"따라서 아래와 같이 간단하게 인증 우회하여 문제를 풀 수 있다.아래 방법 외에도 2진수(0b)를 이용하거나 like, in 과 같은 연산자를 이용해서도 문제를 풀 수 있다. 띄어쓰기는 %0a, %09로 우회할 수 있다.