Web Security DAY_004 랜섬웨어 , ransomware attack , SQL Injection , SQL 인젝션 , 웹페이지 만들기 , 웹 해킹 예시 , 쿠키 탈취 , session, hijacking , 세션 하이제킹 , 웹 모의 해킹

2024. 1. 22. 14:25Information Security 정보보안/Web Security 웹 보안

728x90

배울내용:

랜섬웨어

ransomware attack

SQL Injection

SQL 인젝션

웹페이지 만들기

웹 해킹 예시

쿠키 탈취

session hijacking 

세션 하이제킹

웹 모의 해킹

 

 

 

 

 

 

제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.

틀린게 있으면 댓글로 써주시면 고치겠습니다.

 

 

 

 

 

먼저 이 VM 을 다운받고 VM 을 실행하자  

https://drive.google.com/file/d/1Ho_ji18uPKJxvzK4TOrE2gDWTFL5DRmn/view?usp=sharing

 

VM서버.zip

 

drive.google.com

 

 

 

실행방법을

모르면 아래의 링크로 가서

실행방법을 다시보고 오도록하자 

 

 

https://sarimus.tistory.com/43

 

Web Security DAY_001 리눅스 윈도우 연결 , Putty 연결, IP주소 설정 및 DNS설정 , VM와 Window 연결 , VM 설정

배울내용: 리눅스 윈도우 연결 Putty 연결 IP주소 설정 및 DNS설정 VM와 Window 연결 VM 설정 가상환경 구축하기 칼리 리눅스 VM설치 CentOS VM 설치 VM안켜질때 해결 .lck 파일 제가 지금 부터 작성하는 모

sarimus.tistory.com

 

 

 

 

 

 

이건 간단한 웹페이지를 만든것인데 

 

로그인 기능과 그외에 딱우리가 실습할 환경을 

만들어 놓은 것이다 

 

 

 

만약 웹페이지를 만들고싶다면 

아래의 파일을 이용해서 

 

 웹 서버의 기본 문서 루트 디렉터리인 

 /var/www/html 에서 하나하나 만들도록 하자

 

 

 

 

_웹만들기_로그아웃X.zip
0.00MB

 

 

 

txt 파일이다 여기에 

하나하나 vi 파일이름 한뒤에 올리면 만들면 된다 

 

 

이렇게 하나하나 만들지 않을거면 위에 VM 만 켜주면 된다 

 

 

 

 

 

 

 

 

 

 

 

만약 키게 되면 실제 윈도우 웹페이지에서  

192.168.10.100 ( VM 주소)  입력하면

 

이런창이 떠야한다 

 

 

 

 

 

하나하나 클릭했을때

 

 

이런창이 뜨면 안된다 

 

 

만약 뜨게 된다면 위에 txt 파일을 다운 받은뒤에

 

 

 

var/www/html/ +

이경로에 빨간박스안의 파일이 있는지 확인해주고

없으면 vi 파일이름 한뒤에 내용을 채워 넣어줘야한다 

 

 

 

 

 

 

또하나  mysql 에 계정을 만들어줘야한다

 

그냥 저기에 나온 홈페이지에서 회원가입해도 되지만 

앞으로 우리는 지금 저 웹페이지하고 연동된 mysql 을 이용하게 될것이다

 

 

 

 

이런식으로  sevas 라는 database 안에 class 라는 table 안에는

sevas, sevas1 이라는 계정 2개 가 있는걸 볼수있다 

 

 

 

 

 

 

 

실제로 한번 로그인 해보면 

 

 

 

 

 

 

 

 

이렇게 로그인 되었다고 표시가 된다 

 

 

 

 

이때 F12 ( 개발자 도구) 에서 

Application -> Storage -> Cookies -> http://192.168.10.100 클릭하면 

 

 

 

이러한 PHP session ID 가 나온다

그리고 Value 라는 쿠키값이 나오는데 

 

이 쿠키값을 복사해서 

 

 

 

이렇게 새로운 홈페이지 연뒤에 ( 기본 계정 X  , 다른계정사용 )

 

 

 

 

 

 

 

 

 

여기에도 value 값이 다른게 있는데 이걸 지우고 

 

아까 처음 봤던  value( 쿠키값) 을 가져오고 

 

 

 

 

 

 

 

이상태에서 F5 누르게 되면 

 

 

 

 

 

 

 

비밀번호와 아이디를 몰라도 

기존 계정에 있던 세바스 라는 계정이 로그인 된다 

 

 

 

 

 

이는 

 

다른 사용자의 쿠키값을 이용하여 남의 ID로 로그인하는 행위로

"세션 하이재킹(Session Hijacking)"이라고 한다

 

세션 하이재킹은 사용자의 세션 정보를 탈취하여

해당 사용자로 위장하여 시스템에 접근하는 행위를 말한다 .

 

 

 

이건 나중에 좀더 알아보겠다 

 

 

 

 

오늘의 중요!

 

세션은 사용자가 쓰던 정보들이 들어가있고
쿠키는 서버가 사용자를 인식하기 위한 식별자 

 

이걸 꼭 기억하도록 하자 

 

 

 

 

 

 

 

 

이번엔 게시판에 가서 

 

 

아무 내용을 채워준뒤 등록해준다 

 

 

 

그러면 

메인화면 밑에 글작성했던게 생기는데

 

 

 

 

이걸 클릭하게되면 

 

 

 

 

 

 

이런창에 오게된다

 

이때 URL 을 잘봐라 

 

 

 

여기 URL 에서 

 

no= 뒤에 번호를 지우고 

0 을 아래와 같이 넣어주고 F5 를 누르게 되면 

 

0 'union select id,pw,1,1,1 from class limit 1,1--+

 

 

이렇게 되있던게 

 

 

 

ID 와 PW 가 노출이 되는걸 볼수있다 

 

이러는 이유는 

 

POST 와 GET 값으로 쓸수있는데 

그걸 개발자가 헷갈리거나 귀찮아서 GET 값을 썻다가 POST로 

안바꿔졌을때 취약점에 노출된다 

 

 

해커는 이러한 점을 찾아서 구조를 파악하고 

이렇게 공격을 해온다 

 

 

이공격은 

SQL 삽입공격 (SQL Injection Attack) 

으로  

 악의적인 사용자가 웹 응용 프로그램의 입력 필드에 특수한

SQL 쿼리를 삽입하여 데이터베이스를 조작하거나 민감한 정보에 접근하는 공격 기술이다.

 

이는 일반적으로 웹 애플리케이션에서 사용자로부터

입력을 받아 이를 데이터베이스에 전달할 때 발생한다 .

 

 

 

 

지금쓴 DB는 mysql 로 보안이 다소 취약한 DB지만 

오라클도 공격이 가능하다 

 

그러나  요즘에는 오라클 DB 같은경우 19버전에는

 자체적으로 보안되있어서 한번 검사를 하고 하기때문에

Injection Attack 이 쉽지않다

 

그러나 그렇다고해서 공격을 100% 막은건 아니라는걸 알아야한다 

 

 

 

 

 

 

 

이번에는 

 

웹하드로가서 

 

 

 

 

이러한 파일을 올리고 전송하고

키워드에 랜섬 검색하면 

 

 

 

위와같이 나오는데 이걸클릭하게 되면 

 

 

 

 

 

클릭만해도 다운이 됬다

 

 

그리고 이걸 실행하게되면 

 

랜섬웨어가 걸리는데( scareware라 겁주기용임 ) 

 

이러면서 공격자가 사용자의 파일을 암호화 시키고 

 

ransom(몸값)을 지불후에 풀어준다고 협박 할수가 있다

 

 

 

 

 

 

이거를 파일이름을 예를 들어

 

삼성 1차합격 , 2차 심사공고 작성문 이런식으로 

 

어떤 2차 양식을 쓰게하려는 파일을 다운받게 해놓고

 

실제로는 악성바이러스나 프로그램을 설치하게 되면 

 

사용자는 공격자의 공격에 당하게 된다 

 

 

 

 

 

이를 주의하기 위해서 항상 안전한 파일인지 확인하길 바란다 

 

 

 

그럼 20000

 

 

 

 

 

 

728x90