취약 환경 구축
기존에 XAMPP를 APM Setup 대신 사용하여 MySQL 실습을 진행하였으나, XAMPP로 취약 환경 구축 시 강의와 환경이 달라 에러가 발생하여, 강의와 동일한 환경 구축을 위해서 APM Setup으로 환경 구축을 다시한다.
설치 후 C:\APM_Setup 경로의 php.ini 파일 내 magic_quotes_gpc 를 Off 로 변경해준다.
magic_quotes_gpc는 GET, POST, 쿠키 등 사용자 입력값을 이스케이프 처리를 해준다는 의미다.
' 를 입력하면 \' 가 출력된다는 의미이다.
magic_quotess_gpc = Off 로 변경 후 Apache를 재기동한다.
APM Setup 콘솔 Server status의 Apache를 Stop 후 다시 Start 한다.
Apache 재기동 후 접속 하면 아래와 같이 test' 가 그대로 출력된 것을 확인할 수 있다.
실습을 위해서 MySQL 패스워드를 초기화해야 한다.
APM Setup으로 설치 시 MySQL 초기 패스워드는 apmsetup이다.
CMD 창을 열고 cd C:\APM_Setup를 입력하여 APM_Setup 폴더로 이동한다.
→ 굳이 APM_Setup 폴더로 이동할 필요없이 바로 로그인해도 된다.
mysql -u root -p 입력 후 apmsetup을 입력하여 mysql에 로그인한다.
update mysql.user set password=password('test') where user='root';
→ root 계정의 패스워드를 test로 변경한다.
flush privileges;
→ DBMS에 변경된 패스워드 적용
exit 후 다시 mysql -u root -p 입력하여 로그인
변경된 패스워드 test 입력 후 로그인
강의 내 취약 환경 구축 자료 다운로드 후 C:\APM_Setup\htdocs 폴더 내에 압축 해제한다.
압축 해제 후 common.php 내 mysql 패스워드를 test로 변경해준다.
insecure_website 폴더 내 query.txt 쿼리들을 복사해서 MySQL CMD 창에 그대로 붙여넣는다.
쿼리 복붙 후 DB, 테이블 생성 및 데이터 입력이 완료되면 insecure 홈페이지에 접속을 시도한다.
브라우저에서 127.0.0.1/insecure_website 입력하여 접속을 시도
아래와 같이 정상적으로 접속이 된다.
우측 상단의 Join을 클릭하여 관리자 계정을 생성한다.
ID: admin
PW: admin
관리자 계정 생성 후 로그인
관리자 계정으로 로그인 후 우측 상단의 Write 버튼을 클릭하여 게시글을 작성한다.
test 라는 게시글을 작성 후 비밀번호도 test 로 설정 후 Write 버튼을 클릭하여 작성 완료한다.
test 게시글이 작성 완료되었다.
해당 게시글 클릭 후 Modify 버튼을 클릭하면 수정이 가능하며, 게시글 작성 시 입력했던 비밀번호를 입력하면 된다.
제목과 내용을 변경 후 비밀번호를 입력하고 Modify를 클릭하면 게시글 변경이 완료된다.
게시글 수정 후 Delete 를 클릭하면 삭제도 가능하다.
참고
'웹 해킹 > 웹 해킹 및 시큐어 코딩 기초' 카테고리의 다른 글
OS Command Injection (2) | 2025.01.03 |
---|---|
SQL Injection 대응 방안 (1) | 2024.12.27 |
SQL Injection (1) | 2024.12.11 |
버프 스위트(Burp Suite) 설치 및 사용법 (0) | 2024.11.26 |
웹 해킹에 대한 이해 (0) | 2024.11.23 |