1. 웹 해킹의 개요
1) 개요
HTTP 프로토콜을 기반으로 하는 웹은 은 인터넷 서비스의 중심이며 대부분 80포트를 개방하여 사용하고 있다. URL 뒤에 별도의 포트를 지정하지 않으면 80포트를 사용하는 것으로 인식한다. 웹 서버는 80포트를 통해 텍스트, 이미지 등 다양한 자료들을 송수신하며 중요정보까지 웹 서버로 전송한다.
OWASP(the Open Web Application Security Project)라는 국제 웹 보안 표준 기구에서는 10대 웹 애플리케이션 취약점(OWASP Top 10)을 발표한다.
2013년 OWASP top 10 목록은 다음과 같다.
1. Injection
- DB, 운영체제, LDAP에 명령어나 질의문을 전송할 때 신뢰할 수 없는 데이터를 사용함으로써 인젝션 공격을 수행.
- 예상치 못한 명령을 실행하거나 적절한 권한 없이도 데이터에 접근할 수 있음.
2. Broken Authentication and Session Management
- 인증과 세션관리 기능은 개발자에 의해 만들어지는 애플리케이션 기능.
- 비밀번호, 키 또는 세션 토큰을 해킹하거나 다른사용자의 id로 가장할 수 있음.
3. Cross site Script (XSS)
- 애플리케이션이 신뢰할 수 없는 데이터를 가져와 적절한 검증이나 제한 없이 웹 브라우저로 보낼때 발생함.
- 공격자가 피해자의 브라우저에서 스크립트를 사용하도록 하여 사용자 세션탈취, 웹 사이트 변조, 악의적인 사이트로 이동할 수 있음.
4. Insecure Direct Object References
- URL과 같은 수단을 통해 파일, 디렉터리, DB 키 와 같은 내부 구현 객체에 직접 접근.
- 사용자 인증이나 다른 보조적인 수단을 통해서만 접근 가능.
5. Security Misconfiguration
6. Sensitive Data Exposure
7. Missing Function Level Access Control
8. Cross site Request Forgery
9. Using Components with Known Vulnerabilities
10. Unvalidated Redirects and Forwards
OWASP Top 10 리스트 최상위의 SQL 인젝션, 비밀번호 크래킹, 웹 쉘 공격을 파이썬을 이용하여 해킹하는 방법에 대해 알아보고자 한다.
2) 테스트 환경 구성
(1) 버추얼 머신
1. 버추얼 머신을 통해 Win7을 설치함. 가상 pc 3대 모두 설치 (서버, 클라이언트, 해커)
(2) APM Setup 설치
1. APM을 설치 함. (127.0.0.1로 접속하여 설치확인을 함)
2. http://127.0.0.1/myadmin/을 통해 MySQL관리자 화면으로 들어감. (ID : root / PW : apmsetup)
3. [사용권한] 메뉴를 클릭하여 사용자를 추가함. (사용자명/패스워드 모두 python으로 설정)
☞ 전체적 권한은 모두 체크함.
4. 사용할 데이터베이스를 만든다. [데이터베이스] - [새 데이터베이스 만들기] - wordpress
5. 웹 서버에서 실행될 애플리케이션인 워드프레스를 설치. (3.8.1 버전)
☞ https://ko.wordpress.org/releases/ 에서 3.8.1 버전을 다운받음.
(3) 워드프레스 설치
1. 받은 wordpress 파일을 압축 풀고 해당 폴더를 c:\APM_Setup\htdocs 폴더에 넣음.
2. http://localhost/wordpress 를 입력하여 다음과 같은 화면을 확인함.
3. [환경 설정 파일 만들기]를 클릭하여 데이터베이스를 지정함.
4. 다음과 같이 설정하고 설치를 진행함.
(4) 가상 pc 네트워크 설정
1. NAT는 호스트 PC를 경유해서 인터넷연결은 가능하지만 가상 PC끼리 상호 연결은 불가능하기 때문에 [내부 네트워크]로 변경하고 무작위 모드를 [모두 허용]으로 선택함. (잠시 인터넷 연결이 필요할 때는 NAT로 바꿈)
2. 클라이언트 PC와 해커 PC에서 서버 PC의 웹 서비스를 호출 가능하도록 설정을 한다.
☞ 워드프레스 설정을 변경 (localhost -> server)
☞ 방화벽을 해제.
3. server를 인식시키기 위해 hosts 파일을 통한 로컬 DNS 기능을 활용한다.
☞ 서버의 IP를 확인함. (CMD에서 ipconfig -all)
☞ C:\Windows\System32\drivers\etc\hosts 파일을 메모장으로 열어 '아이피 server'를 등록해줌. (가상 pc3개 모두 다)
☞ client와 hacker PC에서 모두 http://server/wordpress 로 접속이 된다면 테스트 환경 설정은 끝이난다.
'해킹&보안 > 웹 해킹' 카테고리의 다른 글
[5] 패스워드 크래킹 (0) | 2017.06.22 |
---|---|
[4] 웹 페이지 호출 예제 (urllib, urllib2) (0) | 2017.06.22 |
[3] 쿠키정보 유지하기(urllib2) (0) | 2017.06.21 |
[2] Request Message 보내기(urllib2) (0) | 2017.05.25 |