Web 모의해킹

웹보안) 사용자 인증

5_jinseok12 2018. 3. 8. 17:09
728x90

Apache 웹 인증

설정파일 : #vi /etc/httpd/httpd.conf

 

 

#317gg를 통해<Directory "/var/www/html">을 찾는다.

/var/www/html이 Apach의 해당경로이다

 

 

 

Directory 안에 내용을 입력하여 수정한다.

 

AuthType Basic
AuthName "Basic Authentication"
AuthUserFile /var/www/html/.htpasswd // 사용자의 지정파일 경로(사용자파일을 명령어로 만들어야 한다
Require valid-user                          // 어떤 사용자에게 인증을 요청할 것인지,

      // 인증 사용자는 설정파일에 적어놔야 한다.

 

인증 사용자는 리눅스 계정과 상관이 없다, 인증 사용자는 설정파일에 적어놔야 한다

 

 

 

 

위처럼 설정해놓고 url을 다시 입력해보면 사진과 같이 인증창이 뜨는것을 확인할 수 있다.

하지만 아직 패스워드를 지정해주지 않아서 어떤 값을 입력해도 화면이 넘어가지 않을 것이다

 

 

파일이 있는데 -c옵션을 사용하여 붙여준다면 사라진다.

 

해쉬는 암호화가 아니다.

패스워드를 설정해놓고 다시 url을 입력한 뒤 계정과 비밀번호를 입력하면 원하는 링크로 넘어간다.

 

설정한 값을 입력하기

 

정상적으로 넘어온 것을 확인할 수 있다.

 

 

 

세션같은 경우 한번만 연결하면 연결이 끊어질 때 까지 사용이 가능하다.

이미 인증이 되었을 때 신뢰가 가능한 세션이기 때문이다.

 

세션은 끊기면 다시 연결해야 하지만 연결되어 있는 동안에는 처음에만 인증하면 된다

하지만 웹은 세션을 유지하지 않고 끊어버린다. 그 예를 들면 페이스북, 네이버, 다음 등등...

 

세션을 유지하지 않고 끊어버린다는것이 어떤 의미냐면

로그인을 하면 인증처리로 확인이 되고 한번 웹(페이스북)창을 켜주는 것이다.

조금 후 웹(페이스북)을 들어가고자 할 때 로그인을 다시 해야한다.  세션을 한번 연결해주고 끊었기 때문이다.

Apache 같은 경우 헤더에 인증토큰을 둔다.

브라우저를 다 꺼버리면 새로 인증해야 한다.

 

위에 사진은 인증토큰을 알면 재접속 시 세션에 바로 연결해주는 것이다

 

#netstat -ant 를 입력하여

3306, 80을 통해 제대로 연결되어 있는지 확인해본다.

 

 

# mysql -h [서버의 ip나 도메인](host의 약자) 현재 서버와 클라이언트가 같이 작용
# mysql -h localhost -u root  // 여기 root는 리눅스와 상관없다

 

DB에 접속이 완료되었을 때 접속을 끊고 싶다면 quit로 나올 수 있다. Ctrl+C 로도 나올 수 있다.

 

DB의 계정에 로그인하기 위해 패스워드를 설정해준다.

하지만 보안적인 측면때문에 원격접속은 제한된다.

password 뒤에 자신이 원하는 패스워드를 입력하면 된다.

mysqladmin -u root password [패스워드]        : DB의 패스워드 설정

 

 

패스워드를 설정했기 때문에 #mysql -u root 를 입력하면 위와 같은 에러창이 뜬다.

 

#mysql -u root -p 를 입력해야만 패스워드창으로 넘어간다.

이때 패스워드를 정확히 입력하여 인증을 통과해야만 세션이 유지되는 것이다.

 

 

 

 

Drop 을 통해 databases 중 test를 날린다,

show databases 를 통해 삭제된 것을 확인 가능.

 

 

 

 

세션이 유지되면 show databases; 를 통해 데이터베이스들을 확인한 후

사용할 데이터베이스를 선택해야 한다. 선택하지 않으면 아무것도 실행되지 않음

ex)  use user;    -> user를 사용하겠다

 

DROP, UPDATE, DELETE 등을 사용할 때는 관리자 권한으로 사용하기 때문에 항상 주의해야 한다

화면상에 정보가 나타나지 않기 때문에 오타등 오류가 발생하여 로그인을 못지 않도록 명심해야 한다

TABLE 에서 한 행은 정보 하나를 나타내는 것이다

반응형