Webhacking.kr Challenge old-59 문제 풀이
이번에 풀 문제는 59번! 들어가면 회원가입과 로그인 칸이 있고 id와 phone을 입력하게 되어 있다. 소스코드는 꽤 길긴 하지만 정리하면 POST[lid] = 로그인 id, POST[lphone]= 로그인 phone addslashes함수로 각각 싱글쿼터, 더블쿼터, \, Null 필터링 POST[id] = 회원가입 id, POST[phone]= 회원가입 phone addslashes함수로 각각 싱글쿼터, 더블쿼터, \, Null 필터링 phone 입력 길이 20미만으로 제한 각각 admin 필터링 phone에서 0x, #, hex, char, ascii, ord, select 필터링 마지막으로 lv값이 admin이면 문제가 풀린다. 우선 lv가 무엇인지 모르기 때문에 회원가입 후 로그인을 해보자 임..
2023. 7. 13.
Webhacking.kr Challenge old-7 문제 풀이
이번에 풀 문제는 7번! 소스 코드를 보면 2,+,-,from,=,/,*,_,공백이 필터링되어 있고 val 파라미터에 입력값이 없으면 1로 자동 입력되게 되어있다. 또한 1~5까지 랜덤으로 숫자를 생성하여 각 숫자마다 sql문에서 val파라미터를 입력받는 부분의 ()가 하나씩 늘어나게 되어 있다. 문제는 val파라미터에 2가 입력되면 풀리는거 같다. 여기서 우리는 rand가 1일때를 가정하여 문제를 풀 것이다. 다음에 올 수를 예측할 수 없을뿐더러 1이 나올 때까지 돌리는 게 더 빠르다. 일단 val파라미터에 2를 MOD(5,3)으로 우회해서 넣어보면 query error가 출력된다. 즉, 애초에 2라는 데이터 자체가 존재하지 않았다. (query error는 데이터가 존재하지 않을 시 출력된다.) 그러..
2023. 7. 10.