old-45 풀이
SQL Injeciton 문제입니다 id와 pw에 이스케이핑 처리를 해주고, id에는 mb_convert_encoding() 함수를 적용시킵니다 id와 pw 둘 다 preg_match()로 필터링을 해주는데, 쿼리의 결과가 존재하면서 id의 값이 "admin"일 때 문제가 해결됩니다 여기서 mb_convert_encoding() 함수에 대해서 찾아봤는데, php에서 인코딩 방식을 변환해 주는 함수라고 합니다 그리고 이 함수에는 취약점이 존재하는데, [%a1~%fe]\ 형태의 2byte는 1byte로 인식이 됩니다 이렇게 되면 addslashes()를 우회할 수 있게 됩니다 인젝션 할 때는 pw를 알아내서 admin으로 로그인하는 방법을 사용하려고 했습니다 하지만 pw가 md5 처리가 되어있어서 그 방법은..
2024.03.27