본문 바로가기

비박스62

[비박스를 활용한 웹 취약점 진단] 9. 보안 설정 오류 [Robots 파일 내 중요 정보 노출] 대외 서비스에서 애플리케이션 취약점 대응도 중요하나 가장 기본이 되는 것은 바로 보안 설정이다. 보안 설정만으로 많은 취약점 대응이 된다. 하지만 과하면 독이 될수 있듯이 보안 설정에서도 홀이 발생해서 공격자에게 힌트를 주고 더 큰 위협이 발생할 수 있다. 구글 해킹의 대응방안 설정에 어떠한 취약점이 있는지 알아보자. robots.txt 파일은 페이지에 대한 접근 권한을 설정하는 파일로, 웹 크롤러의 접근 범위를 설정할 수 있다. 즉, 구글 검색 시 검색에서 제외하기 위해 활용되는 파일이다. robots.txt 파일이 외부에 노출되는 경우 페이지에 대한 접근권한 자체가 노출되는 것이다. robots.txt 파일의 설정에 따른 페이지 접근 가능 여부를 확인해보자. [난이도 하] 구글 해킹으로 검색되어 시스.. 2023. 12. 13.
[비박스를 활용한 웹 취약점 진단] 8-2.취약한 직접 객체 참조 [Order Tickets] 이번 페이지는 티켓 주문 기능이 있다. 티켓의 가격을 조작해보자. [난이도 하] 개발자 도구(f12)의 소스코드를 보면 hidden 속성으로 숨겨져있는 input 폼이 보인다. ticket의 가격을 가진 코드인듯 하다. value 값은 15, 즉 15유로를 뜻하는것 같은데 이것을 1로 변경하고 Confirm 버튼을 눌러보자 그 결과 한개의 티겟을 구매했는데 1 유로의 가격으로 구매가 되었다. [난이도 중,상] 난이도 중과 상에서는 티켓 가격을 수정할 수 있던 hidden 속성의 변수가 개발자 도구에 노출되지 않는다. 서버에서 값을 받아와 데이터베이스에 전달될 때까지 사용자가 수정하지 못하도록 대응하고 있는 것이다. 이처럼 가격과 같이 변하면 안되는 데이터의 경우 웹페이지 개발자 도구나 소스코드에서 사용자.. 2023. 12. 13.
[비박스를 활용한 웹 취약점 진단] 8-1.취약한 직접 객체 참조 [Reset Secret] 이번 페이지는 접속한 사용자의 비밀번호 힌트를 'Any Bugs?' 로 초기화 하는 기능을 제공한다. 여기에서 버프슈트를 사용해 요청값을 가로챈 뒤 Insecure DOA를 이용해서 다른 사용자의 비밀번호 힌트를 초기화 해보자. [난이도 하] Any bugs? 버튼을 누르고 해당 요청을 버프슈트로 캡쳐해 보았다. 보아하니 xxe-2.php 페이지로 XML 타입의 변수를 전달하는듯 하다. 전송되는 변수는 login과 secret이고, 아이디와 초기화할 비밀번호 힌트가 입력되어 있다. secret 변수에 입력된 초기화 비밀번호 힌트 문자열을 다른 문자열로 변경하고 Forward 해보자. 이제 sqli_16.php로 가서 힌트값을 확인하자. 그랬더니 비밀번호 힌트 값이 아까 Forward 시켜주었던 값으로 변.. 2023. 12. 13.
[비박스를 활용한 웹 취약점 진단] 8.취약한 직접 객체 참조 [Change Secret] 직접 객체 참조(DOR, Direct Object References) 란? - 서버 내부에 구현된 객체의 참조를 허용하는 것을 말한다. 이를 통해 발생하는 취약점이 취약한 직접 객체 참조 (Insecure DOR) 이다. 주로 파일, 데이터베이스 키, URL에 노출된 세션 아이디를 통해 조작이 가능하며, 접근 제어나 검증 절차가 없으면 공격자는 허가 없이 객체 참조를 조작해서 데이터에 접근 가능하다. 이번 페이지는 사용자의 비밀번호 힌트를 수정할 수 있는 페이지이다. [난이도 하] 페이지에서 개발자도구(f12)를 보면 웹페이지에서는 안보였지만 코드에서는 hidden 속성으로 숨겨둔 input 폼을 볼 수 있다. 즉, 보이지 않게 한 bee 계정에 대한 비밀번호 힌트값을 변경하도록 한 것이다. 이런식으로.. 2023. 12. 13.