본문 바로가기

해킹 슈퍼 기초 연습

(20)
webgoat Crypto Basics 인코딩과 디코딩은 보안에서 정말 중요한 요소입니다. 반대로 이걸 뚫을 수 있다면 많은 정보를 얻을 수 있습니다.base64첫번째 문제는 base64에 대한 것입니다. 문제에 있는 d2ViZ29hdDpwYXNzd29yZA==를 복호화하면 됩니다. burp suite에서는 암호화, 복호화 기능도 지원해 줍니다. 이 기능을 이용해 해결할 것입니다. 오른쪽의 decode as를 base64로 바꾸고 문제에 있는 문자열을 입력하면 해답이 나옵니다. xor encoding다음은 xor인코딩 관련 문제입니다. 아쉽게도 burp suite에는 xor 인코딩 기능이 없습니다. 그러니 다른 사이트에서 알아봅시다.https://gchq.github.io/CyberChef/ 에서는 다양한 인코딩, 디코딩 기능을 제공해 줍니다..
webgoat CIA Triad CIA의 3요소(기밀성, 무결성, 가용성)에 대한 이야기입니다. 이 파트는 따로 실습이 있는 건 아니고 뒤에 있는 설명을 보고 문제를 푸는 것입니다. 중간고사 오픈북 테스트 보는 느낌이네요. 기밀성은 승인되지 않은 누군가에게 공개되지 않도록 하는 것입니다.무결성은 데이터의 일관성, 정확성 및 신뢰성을 유지하는 것입니다.가용성은 인증된 사람이 요청 시 액세스하고 사용할 수 있는 것입니다. 각 문제들의 정답들만 한번 살펴보겠습니다. 기밀성에 대한 이야기로 해커가 데이터베이스의 정보를 온라인에 올림으로서 훼손될 수 있습니다. 무결성에 대한 이야기로 데이터베이스의 정보를 바꿈으로서 훼손될 수 있습니다. 가용성에 대한 이야기로 서버에 서비스 거부 공격을 해서 훼손할 수 있니다. CIA 3요소 중 하나라도 훼손된다..
webgoat 개발자 도구 크롬이나 파이어폭스 등 대부분의 웹 브라우저에는 개발자 도구가 있습니다. 이것을 이용해서 네트워크 통신이나 코드 실행 등 다양한 것을 확인할 수 있습니다. ctrl + shift + i 로 켤 수 있다고 하는데 F12로고 가능합니다. 바로 문제로 넘어가 봅시다. 개발자 도구를 켜고 콘솔로 들어갑니다. webgoat.customjs.phoneHome()를 콘솔 창에 입력합니다. 이때, webgoat가 있는 창에서 실행해야 합니다. "output": "phoneHome Response is 뒤에 있는 숫자를 넣으면 해결할 수 있습니다. 6번에서는 네트워크 탭을 활용하라고 되어 있습니다. network 탭으로 간 다음 버튼을 클릭하면 network가 하나 나옵니다. 해당 요청을 누르고 payload로 가면 아..
webgoat http Proxy 프록시 서버는 클라이언트와 서버 사이에 있습니다. 여기서는 프록시를 이용해 요청&응답을 기록하고 분석하는 것을 배울 수 있습니다. 첫 페이지에 프록시에 대한 설명이 나오고 ZAP를 이용해 설치하는 방법능 쭉 알려줍니다. 하지만 저는 burp suite를 사용할 것입니다. burp suite(https://portswigger.net/burp/communitydownload)로 가서 운영체제에 맞는 burp suite를 설치합니다. 저는 community edition으로 설치했습니다. 이 전에(https://codestudycafe.tistory.com/80) 했던 대로 proxy를 세팅해 줍니다. 이때 설정한 proxy가 여기서 말한 proxy입니다. 6번 밑에 있는 문제를 보면 요청을 가로채서 이것저..
webgoat http webgoat의 general을 보면 http에 대한 이야기가 나옵니다. 1번째 페이지에서는 http가 어떻게 움직이는지에 대한 설명이 나옵니다. 2번째 페이지에서 요청을 보낼 수 있습니다. 이름을 입력하라고 하는데 아무거나 입력해도 통과할 수 있습니다. f12나 ctrl + shift + i를 눌러 개발자 도구를 열어봅시다.여기의 네트워크 탭에서 어떤 통신이 오고갔는지 확인할 수 있습니다. 이름을 넣고 GO!를 누르면 attack1이라는 것이 보입니다. 이 영역을 누르면 해당 통신에 대한 정보를 볼 수 있습니다. 저희는 POST로 요청을 보냈다는 걸 알 수 있습니다. payload 탭에서는 보낸 정보도 확인할 수 있습니다. 3번 페이지에서는 보내는 요청이 GET인지 POST인지, magic number..
webgoat 사용법 이제 webgoat를 시작해 보겠습니다.우선 계정부터 생성해 줍니다. 해당 계정으로 webgoat와 webwolf에 로그인 할 수 있습니다.webgoat는 피해자 컴퓨터라고 생각하면 되고 webwolf는 공격자 컴퓨터라고 생각하면 됩니다. webgoat의 webwolf 탭에서 webwolf에 대한 설명과 간다한 기능을 사용할 수 있습니다. 1에서는 webwolf 실행 방법이 있지만 이미 실행했으므로 넘어갑니다.2에서는 파일 업로드 기능에 대해 이야기합니다.3에서는 메일 함 기능과 실습이 있습니다. {webgoat 계정}@webgoat.org를 입력하고 메일을 보냅니다. 그럼 webwolf의 mailbox에서 메일을 받을 수 있습니다.  이제 코드를 입력하면 해당 과제를 클리어 할 수 있습니다. 왼쪽 위에..
webgoat 세팅 webgoat는 웹 해킹을 연습할 수 있는 워게임입니다. 세팅부터 해보겠습니다.javahttps://www.oracle.com/java/technologies/downloads/?er=221886#jdk22-windows 사이트로 가서 자바를 다운로드 받습니다. 본인의 운영체제에 맞는 파일을 다운받습니다. 파일을 받고 다음을 쭉 누르면 설치 자체는 쉽게 할 수 있습니다.이제 환경 설정을 합니다. C:\Program Files\Java로 가면 설치한 파일이 있습니다. 해당 파일 안으로 들어가서 bin을 환경변수에 등록합니다. 이제 컴퓨터를 껏다 켠 다음 cmd 창에 java -version를 입력합니다. 설치한 자바 파일이 나오면 성공입니다. webgoathttps://github.com/WebGoat/W..
dvwa xss reflected 이전의 xss 공격은 서버에 공격 스크립트를 저장해 두고 이를 유저가 보게 만들었습니다. 이번에는 서버에 저장되지 않을 때 어떻게 하는지에 대한 것입니다. dvwa의 xss reflected로 갑니다. 여기서 를 입력합니다. 그럼 아래처럼 알림이 나옵니다. 즉, 저희가 원하는 스크립트를 실행할 수 있다는 뜻입니다.그리고 url을 보면 저희가 넣은 값이 인코딩된 채로 보여집니다.http://172.30.1.7/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28%27%21%27%29%3C%2Fscript%3E# 쿠키를 탈취해 로그인 정보를 가져옵시다.를 하면 쿠키를 얻을 수 있습니다. 그리고 document.location으로 특정 사이트로 이동시킬 수 있습니다.그렇다면 ..
dvwa sql injection (blind) sql의 결과를 참, 거짓으로만 반환하는 경우에 사용할 수 있습니다. 뭔가 설정이 잘못되었는지 다 나오고 있긴 하지만 참, 거짓만 나온다 가정하고 그냥 진행해 보겠습니다. 우선 ' or length(database()) =1#를 입력해 봅니다. 데이터베이스의 글자 길이가 1인지를 묻습니다. 아무 반응이 없는것을 보니 아닌가 봅니다. 이렇게 쭉 입력해 봅니다. 4를 입력했을 때 성공적으로 나옵니다. 지금 데이터베이스 이름의 길이가 4인가 봅니다. 사실 1' union select 1, database()# 를 입력해서 바로 알아낼 수 있기도 합니다. 하지만 블라인드인 경우에는 이렇게 알아낼 수 없습니다. 그 대신 1' or substr(database(),1,1)='d'# 를 이용해서 알아볼 수는 있습니다..
dvwa CSRF CSRF 공격은 사용자가 자신도 모르게 공격자가 원하는 행동을 하게 만드는 공격 방법입니다. DVWA를 실행하고 CSRF로 이동합니다. burpsuite를 실행하고 password에 1234를 입력한 뒤 실행해 봅니다. 그럼 이벤트를 잡을 수 있습니다.단순히 get으로 보내고 있습니다. 이 정보를 복사해 봅시다. 이 url에서 아이디, 비밀번호를 적당히 바꾼 다음 그 url을 실행하도록 유도하면 됩니다. 가짜 사이트를 만들거나 메일로 링크 클릭을 유도하면 됩니다.