전체 글 249

[2주차] 로그인 우회 풀이 - 불충분한 세션 관리 취약점

** 불충분한 세션 관리 취약점 : 웹 상에서 사용자가 로그인을 할 시,매번 동일 세션 id 발급 (또는 일정 패턴 존재) 또는, 세션 타임 아웃을 너무 길게 설정한 경우, 공격자에 의해 세션이 탈취될 수 있는 취약점 ------------------------------------------------------------------------------------ 로그인 화면을 분석해보자 ctrl +shift+del을 눌러 쿠키를 제거한 후, 새로고침을 하면 기본적으로 이 페이지가 처음에 어떤 페이지들을 불러오는지를 볼 수 있다. 주어진 아이디와 비밀번호를 가지고 로그인을 시도해보면 loginProc.php 가 불려오면서 index.php로 넘어가는 것을 볼 수 있다 처음에는 mario 계정으로 접속..

[2주차] 해킹 스터디 정리 - 쿠키,세션,세션ID,Burp Suite 사용법

HTTP : Hypert Text Transfer Protocol 쉽게 말해 통신 양식이다 관공서같은 곳에서 서류 작업을 할 때 제출해야 하는 양식 * 로그인 구현 -HTTP 프로토콜 > "요청" / "응답" HTTP는 로그인 후 다른 작업을 할 때 다시 인증을 받아야 하는 문제가 생긴다. 즉 연결성이 없다. 쿠키 이를 해결하기 위한 것이 쿠키 쿠키는 Set-Cookie를 통해 서버가 포스트잇처럼 client에 넣어주고 다음부터 client가 요청할 때마다 딸려오게 된다. 그럼 서버는 그 쿠키를 보고 사용자임을 알고 추가 인증을 할 필요가 없는 연결성을 부여해줍니다 여기서 취약점이 발생합니다 클라이언트에서 출발한다는 점이 변조가 가능하다는 것이다. mario라는 사용자가 cookie를 변조하여 bokyu..

해킹/Web Hacking 2023.04.06

[1주차] GET / POST 메서드로 웹 서버에 데이터 보내기

getposttest.php라는 파일을 만들자. 우선 ! + tab을 이용해 html 기본 틀을 만든다. 1 ) GET 방식으로 보내기 그 다음 get 방식을 이용하기 위해 form 태그를 사용할 것이다. form 태그 안의 정보를 get_result.php로 보내는데 method는 get 방식이라는 의미이다. 이제 ctrl+s로 저장 후 파이어폭스로 getposttest.php 파일을 읽으면 잘 출력되는 것을 볼 수 있다. 왼쪽 창에 입력하는 것은 id로 저장될 것이고, 두 번째 창에 치는 것은 비밀번호로 저장될 것이다. get_result.php라는 파일을 만들자. getposttest.php 파일에서 name="id"라는 input 태그 에서 보내진 정보가 $_GET["id"]로 전달된다. 이 정보..

개발/웹 개발 2023.04.05

특이한 해킹 기법 : 피로 공격/돌핀 어택 /스테가노그라피

MFA 피로 공격 2차 인증을 뚫기 위해서 새벽 1시-2시 사이 "본인이 계정에 접속한 것이 맞습니까?" 라는 알림이 계속 울리게 해서 예 버튼을 클릭하는 실수를 유발하는 공격. 실수를 한번만 해도 해킹당함 이게 말이 돼? 라고 생각하겠지만 이런 실수를 유발하는 해킹 기법이 의외로 매우 효과적이라고 한다. 돌핀 어택 인간의 가청 영역 주파수를 이용한 공격 기기에 인간이 들을 수 없는 초음파로 메시지를 보내면 시리나 알렉사가 작동되었다고 2017년 당시 중국 즈장 대학 연구팀에서 발표했다. 이 공격은 인간의 음성 명령을 20kHz이상의 초음파 주파수로 변환하는 방식으로 작동한다. 음성 제어 하드웨어 2m안에 접근하면 공격이 성공할 수 있고 더 고성능의 장비를 이용하면 그 거리를 더 늘릴 수 있다고 한다. ..

[1주차]Happy Hacking 글자 화면에 출력하기

Virtualbox로 lamp server 세팅이 완료되었다면 이제 php 코드를 작성해서 웹 페이지를 띄울 준비가 된 것이다. terminal을 열어 vim happyhacking.php 파일을 만들었다. vim happyhacking.php 만약 vim이 없다면 vi 는 상대적으로 좀 더 불편하니 vim을 쓰는 것을 추천 sudo apt-get install vim 이제 이 파일에 간단한 php 코드를 작성하여 웹 페이지에 글자를 띄워보자. php 규칙은 로 끝나는 범위를 지정한 후, 그 안에 php 코드를 작성하면 웹이 그 안을 php 문법에 맞게 해석해나간다. echo 라는 출력 문법으로 Happy Hacking! 이라는 문자열을 출력해보자 위 vim 파일을 작성한 후, :wq 를 누르면 저장 후..

개발/웹 개발 2023.04.04

[1주차] MySQL - PHP 연동해서 화면 띄우기 & 에러 해결기...

php와 mysql 연동하는 코드 처음에는 위와같은 코드가 아니었다. 밑에서도 말할건데 첫 명령어 $conn = mysqli_connect('localhost','root','password','database'); 로 했었는데, 오류가 생겼다. --------------------------------------------------------------------------------------------------------------- ??????????? 이거 뭐임 그 어떤 알림도 없이 빈 화면만 출력된다. 이거 때문에 답답해서 디코방에다 질문을 계속 올렸던 것 같다.. 다들 도움을 주시려고 계속 이런 코드 해보시겠어요? 하면서 도움을 주셨다 하지만 해결 못한게 함정 몰랐는데 php에서 erro..

개발/웹 개발 2023.04.03

ARP Spoofing 공격 원리 공부 노트

ARP 스푸핑은 근거리 통신 망(LAN) 하에서 주소 결정 프로토콜 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다.(Man In The Middle attack) 이 공격은 데이터 링크 (OSI 7계층에서의 2번째 계층) 상의 ARP 프로토콜을 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격이다. ARP 란? ARP는 네트워크 상에서 IP 주소를 물리적 주소 (MAC 주소)로 대응 시켜주는 프로토콜이다. 네트워크 상에서 특정 IP를 가지고 있는 호스트가 누군지 물어보면 (Request) 해당 IP를 가진 호스트가 응답 (Reply)하는 구조로 동작한다. 공격 방법 PC 1대와 L2 스위치가 있고 이 라우터를 지나가야 Internet으로 나간다면, pc 1번은 ..

[네트워크 공부#1]망분리 정리노트

망분리는 인터넷 상에서의 해커의 공격을 막기 위해 인터넷 망 / 업무 망을 분리하는 것을 의미한다. 한 사람이 오피스에서 일을 한다고 생각했을 때 내부 시스템과 인터넷에 동시에 연결되어있다면, 인터넷은 Public 하기 때문에 해커가 인터넷으로 들어와 내부를 헤집어 놓을 가능성이 있다. 이런 개념에서 나오는 게 망분리이다. 두 가지로 구분할 수 있다. 물리적 망분리 논리적 망분리 물리적 망분리 말 그대로 물리적으로 망분리 하는 것이다. 두개의 컴퓨터가 있을 때 하나는 인터넷을 연결하고 하나는 내부 시스템만을 사용하는 것이다. 이 방식은 내부 시스템이 절대로 해킹당할 일이 없지만 한 사람이 두 개의 pc를 사용해야 한다는 피로감이 있다. 논리적 망분리 가상화라는 기술 vm과 vdi라는 말을 알아야 한다. ..

[1주차]Ubuntu linux 가상 pc 환경에 APM 설정하기 (Apache + PHP + MySQL)

1. Ubuntu 가상 pc 올리기 가상 pc 올리는 건 VirtualBox를 사용할거다 VMware는 전에 한번 써봤는데 버츄얼박스보다 더 복잡하고 무거운 느낌 유튜브를 보면서 연습하려고 만들어놨던 kali linux 랑 kioptrix는 스터디를 계속하면서 쓰기에는 모자랄 거 같아서 Ubuntu linux 가상 pc를 만들었다 버전은 Ubuntu 64-bit. 프로세서는 1개 그래픽 컨트롤러는 VMSVGA로 해놨는데 창 사이즈 설정에 유용하려면 VBoxVGA로 하는 게 좋다고 한다 다음에 한번 해봐야지 비디오 메모리를 128MB 최대로 하는 게 좋대서 최대로 해놓음 기본 메모리는 2048MB 저장소에 들어가서 Ubuntu iso 파일을 광학 드라이브에 추가시켜준다. http://www.ubuntu.c..

개발/웹 개발 2023.03.31