웹 해킹 Webhacking 문제 풀이 5번
location.href='mem/login.php'
mem/login.php로 설정했습니다.
혹시나 하는 생각으로 mem 디렉터리가 있나 호기심으로 들어갔습니다.
웹 구조을 알 수 있습니다.
join.php 디렉터리가 있는 것을 알 수 있습니다.
bye라는 문구와 알림 창을 볼 수 있습니다.
join.php에서 웹 소스코드 봐야 합니다.
소스 코드가 길어서 요약했습니다.
해당 소스을 보면
소스을 보고 유추해보면 로그인 폼을 완성시키고
아이디 폼에 길이 20글자 제한하여 입력 할 수 있고
비밀번호 폼을 만들어라 라는 소스 코드 입니다.
이에
login.php에서 소스코드을 join.php로 데이터을 보내도록 합니다.
SQL 공백문자 취약점을 이용해서 admin계정을 만들려고 합니다.
join.php에서 20글자만 입력하도록 제한합니다.
로그인 입력: ' admin'
비밀번호 : 아무거나
입력하면 admin계정을 만들 수 있습니다.
login.php 사이트로 가서
로그인 입력: ' admin'
비밀번호 : 아무거나
입력하면
해결합니다.
참고자료
document.write --> 자바스크립트 함수로 웹사이트 꾸미는 함수
SQL 공백문자 취약점 --> 아이디을 생성하는 SQL문 대략적으로 ~~~~='아이디'
요기서 공백문자을 넣어도 같은 ' 아이디' ='아이디' 로 인식하는 취약점