전체 글 (303) 썸네일형 리스트형 Dreamhack : rev-basic-1 문제 링크https://dreamhack.io/wargame/challenges/15 rev-basic-1Reversing Basic Challenge #1 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io 풀이 해당 제공 파일 실행 시, 이전 rev-basic-0 문제와 동일하게 오답을 입력할 경우 Wrong이 출력 되어진다. IDA를 사용해 해당 바이너리 파일을 열었을 때, 위와 같은 로직을 확인할 수 있었다. 사용자 입력 값을 받은 후, sub_140001000 함수 내에서 처리 후 이후 ZF 플래그 설정에 따라 Correct 혹은 Wron.. Dreamhack : rev-basic-0 문제 링크https://dreamhack.io/wargame/challenges/14 rev-basic-0Reversing Basic Challenge #0 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io 풀이 해당 문제의 exe 파일을 실행 시키면, 사용자 입력 값을 받는 "Input :" 창이 생성되며, 랜덤한 값을 입력하면 곧바로 종료가 됨을 확인했다. (Powershell 실행 시, wrong이 출력되어짐) 해당 exe 파일을 ida로 열었을 때, 위와 같이 View 기능을 통해 어떻게 분기가 이뤄지는지 확인할 수 있다. 동적 분석을 해.. [버그바운티] OTP code Leaked in API Response 본 포스팅은 학습 목적으로 작성되었으며, hackerone report를 기반으로 작성되었습니다. -분석 레포트- https://hackerone.com/reports/2633888 summary https://xxxxxtempxxxx.com의 애플리케이션은 사용자가 기기 보험에 가입할 수 있도록한다. 견적을 받을 때 전화번호를 통한 인증이 필요하며, OTP는 합법적인 사용자가 작업을 시작했는지 추가로 확인하기 위해 전화번호로 전송된다. 그러나 동일한 OTP 코드가 OTP 응답에서 반환되어진다. Steps To Reproduce 1. 웹 애플리케이션 내에서 견적을 받는다. 2. 프록시 도구를 통해 인터셉트 수행 후 유효한 MTN 번호를 입력한다. ( 리포트 내 영상에서는 사이트에 기재되어 있는 연락처.. [버그바운티] SQL injection in URL path leads to Database Access 본 포스팅은 학습 목적으로 작성되었으며, hackerone report를 기반으로 작성되었습니다. -분석 레포트-https://hackerone.com/reports/2633959 summary https://temp.xxxx.co.za/ 애플리케이션의 URL 경로에는 SQL 주입 가능성이 존재하는데, ID 번호를 가져와서 백엔드 SQL 쿼리에 직접 삽입하기 때문이다. 등록 시, 사용자 ID 번호(여권 또는 국민 ID), 조직 번호, 관련 문서가 요청되어진다. 또한 이러한 모든 정보는 백엔드 데이터베이스에 저장된다. [URL]https://temp.xxxx.co.za/customerInsurance/newCustomerStep8/userId/868878/customerId/732562'/contact.. [ 1-Day ] DOM Based Cookie Bomb in *.acronis.com via x-clickref GET Parameter 본 포스팅은 학습 목적으로 작성되었으며, hackerone report를 기반으로 작성되었습니다. -분석 레포트-https://hackerone.com/reports/1898305 summary https://www.acrxxxx 사이트의 코드 브라우저로 공격자가 x-clickref라는 GET 매개변수를 통해 cookie bomb을 심을 수 있는 문제를 발견하였다. 이로 인해 사용자가 *. acrxxx.com 범위의 서비스에 액세스 하지 못하게 될 수 있다. Steps to Reproduce 1. 해당 사이트에 접근 후, 개발자 모드를 이용해 아래의 자바스크립트 코드를 분석한다. var c = 'x-clickref', d = '.acronis.com', e = '/', a = 90.. Lab: Modifying serialized objects Write Up → 해당 Lab에서는 직렬화 기반 세션 메커니즘을 사용하며, 권한 상승에 취약하다. 실습해결을 위해 세션 쿠키에서 직렬화된 객체를 편집하여 권리자 권한을 얻도록 한다. 주어진 wiener 계정으로 로그인 시, 아래 그림 1과 같은 세션쿠키를 갖게 된다. 해당 쿠키를 base64 디코딩하면, 직렬화된 객체가 어떤 속성을 가지는지 확인할 수 있다. 그 중 admin 속성에 대한 부울 값이 false( 0 ) 인것이 눈에 띈다. 그러므로 이를 1로 바꿔보도록 한다. O:4:"User":2:{s:8:"username";s:6:"wiener";s:5:"admin";b:1;}%3d 위를 base64 encoding 적용하여, 세션 쿠키에 대입하면, admin의 권한으로 carlos 계정을 삭.. Insecure deserialization 해당 포스팅은 아래 포트스위거의 web-security를 기반으로 진행되었습니다.▶ https://portswigger.net/web-security/deserialization Serialization vs deserialization 직렬화는 객체와 같은 복잡한 데이터 구조를 순차적인 바이트 스트림으로 변환하는 과정이다. 이를 통해 데이터를 파일로 저장하거나 네트워크를 통해 전송할 수 있다. 역직렬화는 직렬화된 바이트 스트림을 원래의 객체로 복원하는 과정이다. 즉, 직렬화의 반대 과정이며, 이 과정을 통해 원래의 데이터 구조와 상태를 되찾을 수 있다. What is insecure deserialization? Insecure deserialization 이란 웹사이트에서 사용자가 제어할 수 있는 .. Prototype pollution 대응 방안 해당 포스팅은 학습목적이며, PortSwigger의 web-security 를 기반으로 작성되었습니다. ▶https://portswigger.net/web-security/prototype-pollution/preventing Preventing prototype pollution vulnerabilities exploit 가능한 가젯과 결합되어 있는지 여부에 관계 없이 웹 사이트에서 발견된 프로토타입 오염 취약점은 모두 패치를 적용하는 것이 좋다. 취약점을 놓치지 않았다고 확신하더라도 향후 코드나 사용하는 라이브러리의 업데이트가 새로운 가젯을 도입하여 실행 가능한 익스플로잇의 가능성을 주지 않을 것이라는 보장은 없다. ( 그동안 prototype pollution Lab을 통해 학습한 기법에 대한 조.. 이전 1 2 3 4 5 ··· 38 다음 목록 더보기