본문 바로가기

3. 웹 애플리케이션 취약점 진단/비박스를 활용한 웹 애플리케이션 취약점 진단62

[비박스를 활용한 웹 취약점 진단] 7-10.크로스 사이트 스크립팅 [Reflected XSS-PHP_SELF] PHP_SELF란? - 웹서버가 실행중인 현재 웹페이지의 경로를 나타내며, $_SERVER에 속하는 속성으로 $_SERVER['PHP_SELF'] 형태로 사용한다. $_SERVER는 웹 서버의 헤더와 경로 등의 정보를 포함하는 배열이다. $_SERVER['PHP_SELF']는 URL 을 웹페이지의 경로로 인식하고 받아들이기 때문에 URL에 악성 스크립트 입력 시 XSS에 취약하다. 이번 페이지에서는 HTML 폼 태그의 action 속성에서 $_SERVER['PHP_SELF']를 사용해서 현재 페이지 경로를 반환한다. 즉, 코드에서는 ​이라면 실질적으로는 가 되는 것이다. ​ [난이도 하] 이번 페이지는 firstname과 lastname 변수값을 받는데 우선 firstname에 스크립트 코드를 넣어보자... 2023. 12. 13.
[비박스를 활용한 웹 취약점 진단] 7-9.크로스 사이트 스크립팅 [Reflected XSS-phpMyAdmin] phpMyAdmin이란? - 웹 상에서 MySQL을 관리하기 위한 도구이다. PHP 언어로 작성되었고 호스트 주소에 phpmyadmin을 입력 시 phpmyadmin 페이지로 이동할 수 있다. [난이도 하,중,상] 이번 페이지는 phpMyAdmin 3.3.8.1/3.3.9.0 버전 이하에서 error.php로 XSS 취약점이 존재한다는 힌트가 제공된다. CVE-2010-4480에 취약점에 대한 정보가 있는 듯 하다. 링크가 연결되어 있으나 저 링크는 지금은 존재하지 않는것 같다. [CVE란? - Common Vulnerabilities and Exposures 로 알려진 보안 취약점을 정리하는 코드명 중 하나이며, CVE 뒤에 연도와 발견된 순서를 붙여서 취약점에 대한 코드명을 생성한다.] 이 취약점은 .. 2023. 12. 13.
[비박스를 활용한 웹 취약점 진단] 7-8.크로스 사이트 스크립팅 [Reflected XSS-HREF] a 태그(anchor)는 문서에서 다른 문서로 이동하는 하이퍼텍스트 기능을 제공한다. a 태그의 옵션은 href,title,target 등이 있다. onClick, onmouseover 등의 이벤트 속성을 사용해서 하이퍼링크로 다른 페이지로 이동할 때에 다양한 방법을 제공한다. [난이도 하] 이번 페이지는 href-1 페이지에서 처음에 계정을 입력 받으면 href-2 페이지로 넘어가서 영화 목록을 테이블표로 출력하며, Vote 버튼을 클릭하면 href-3으로 넘어와서 vote한 영화 제목을 출력해준다. URL 주소창을 보면 GET 방식으로 인한 변수 노출을 확인할 수 있다. href-2 페이지에서 개발자 도구를 활용하여 Vote 버튼 부분을 확인하면 a 태그의 href 옵션을 사용해서 href-3으로 세.. 2023. 12. 13.
[비박스를 활용한 웹 취약점 진단] 7-7.크로스 사이트 스크립팅 [Reflected XSS-eval] eval 함수란? - 수식 형태로 된 문자열을 실수로 반환하는 자바스크립트 내장 함수이다. 작은 따옴표에 의한 값은 보통 텍스트 문자로 처리되는데 eval 함수를 사용하면 PHP 코드로 해석하고 실행하게 된다. [난이도 하] GET 방식으로 받는 페이지이기에 위에 date 변수에 date() 함수 결과를 출력하고 있어서 바로 스크립트 구문을 넣어보았다. 하지만 스크립트가 정상적으로 수행되지 않았다. 이는 alert 함수가 필터링 되었기 때문이다. 이제 이를 우회하기 위해서 eval 함수를 사용해서 세션값을 출력해보자. eval(document.write(document.cookie)) 코드를 입력해서 쿠키값을 얻었다. alert 함수가 필터링 되는 경우 eval 함수로 우회할수 있게 된다. [난이도 중].. 2023. 12. 13.