본문 바로가기

해킹 슈퍼 기초 연습23

webgoat 강의 만들기 이거는 해킹과는 관련이 거의 없습니다. 굳이 따지자면 코드 읽는 법을 고즘 연습할 수 있겠네요.이 강의 는 webgoat에서 강의를 만드는 방법에 대해 설명합니다.webgoat 강의webgoat에서는 spring boot를 이용해서 강의를 만듭니다. 다른 것은 조금 치워두고 completed를 봅시다. 두번째 문단에 secretValue.equals(param1) 조건문이 있습니다. 그리고 success를 리턴합니다. 이것이 일치하면 답이라고 판단하나 봅니다. webgoat 자체를 해킹하는 느낌이 들어서 좋네요.아래에 보면 html이 있습니다. webgoat의 프론트에 해당하는 부분 같습니다. 여기에 아까 봤던 param1가 있습니다. secretValue가 secr37Value입니다. 그리고 param.. 2024. 10. 11.
webgoat 지워지지 않은 암호키 암호키를 잘 관지하지 않으면 키가 유출될 수 있습니다. 실습을 통해 도커에 남아 있는 키로 디코딩을 할 수 있습니다.docker 접속docker run -d webgoat/assignments:findthesecret 를 이용해 도커와 연결합니다. 그러면 마지막에 문자가 하나 나옵니다. docker exec -ti --user 0 {문자} bash 를 이용해 도커에 들어갈 수 있습니다. 문제에 보면 root에 password 파일이 있다고 합니다. root로 이동합니다. default_secret이 그 파일인 것 같네요. 확인해 보겠습니다. 문제에 보면 어떤 문자열을 어떤 식으로 디코딩해야 하는지 알려줍니다. -kfile뒤에 secret_file의 경로를 넣어줍니다. 알에 있는 Leaving passwo.. 2024. 10. 1.
webgoat rsa 암호 서명을 통해서 데이터의 유효성을 판단할 수 있습니다.유효성 판단보통 다음과 같은 과정을 거칩니다.A는 전달하려는 정보(문서, 텍스트 등)을 해시를 합니다.공개키를 이용해 정보와 해시 값을 암호화 합니다.암호화 된 값을 B에세 보냅니다.B는 정보를 받으면 개인키로 복호화를 합니다. 그럼 정보와 해시 값이 나옵니다.정보를 해시를 해서 받은 해시 값과 일치하면 해당 정보는 변조되지 않은 것입니다.이번 문제에서는 rsa를 이용해서 해결해야 합니다.rsa 암호문제에서 암호 키를 주면 modulus와 우선 문제에 있는 비밀키를 rsa.txt로 저장해 줍니다.터미널에서openssl rsa -in rsa.txt -pubout > public.pub 를 실행하면 공개키를 얻을 수 있습니다. window의 경우 power.. 2024. 9. 24.
webgoat Crypto Basics 인코딩과 디코딩은 보안에서 정말 중요한 요소입니다. 반대로 이걸 뚫을 수 있다면 많은 정보를 얻을 수 있습니다.base64첫번째 문제는 base64에 대한 것입니다. 문제에 있는 d2ViZ29hdDpwYXNzd29yZA==를 복호화하면 됩니다. burp suite에서는 암호화, 복호화 기능도 지원해 줍니다. 이 기능을 이용해 해결할 것입니다. 오른쪽의 decode as를 base64로 바꾸고 문제에 있는 문자열을 입력하면 해답이 나옵니다. xor encoding다음은 xor인코딩 관련 문제입니다. 아쉽게도 burp suite에는 xor 인코딩 기능이 없습니다. 그러니 다른 사이트에서 알아봅시다.https://gchq.github.io/CyberChef/ 에서는 다양한 인코딩, 디코딩 기능을 제공해 줍니다.. 2024. 9. 19.
webgoat CIA Triad CIA의 3요소(기밀성, 무결성, 가용성)에 대한 이야기입니다. 이 파트는 따로 실습이 있는 건 아니고 뒤에 있는 설명을 보고 문제를 푸는 것입니다. 중간고사 오픈북 테스트 보는 느낌이네요. 기밀성은 승인되지 않은 누군가에게 공개되지 않도록 하는 것입니다.무결성은 데이터의 일관성, 정확성 및 신뢰성을 유지하는 것입니다.가용성은 인증된 사람이 요청 시 액세스하고 사용할 수 있는 것입니다. 각 문제들의 정답들만 한번 살펴보겠습니다. 기밀성에 대한 이야기로 해커가 데이터베이스의 정보를 온라인에 올림으로서 훼손될 수 있습니다. 무결성에 대한 이야기로 데이터베이스의 정보를 바꿈으로서 훼손될 수 있습니다. 가용성에 대한 이야기로 서버에 서비스 거부 공격을 해서 훼손할 수 있니다. CIA 3요소 중 하나라도 훼손된다.. 2024. 9. 11.
webgoat 개발자 도구 크롬이나 파이어폭스 등 대부분의 웹 브라우저에는 개발자 도구가 있습니다. 이것을 이용해서 네트워크 통신이나 코드 실행 등 다양한 것을 확인할 수 있습니다. ctrl + shift + i 로 켤 수 있다고 하는데 F12로고 가능합니다. 바로 문제로 넘어가 봅시다. 개발자 도구를 켜고 콘솔로 들어갑니다. webgoat.customjs.phoneHome()를 콘솔 창에 입력합니다. 이때, webgoat가 있는 창에서 실행해야 합니다. "output": "phoneHome Response is 뒤에 있는 숫자를 넣으면 해결할 수 있습니다. 6번에서는 네트워크 탭을 활용하라고 되어 있습니다. network 탭으로 간 다음 버튼을 클릭하면 network가 하나 나옵니다. 해당 요청을 누르고 payload로 가면 아.. 2024. 9. 7.