DOM 기반 XSS (펌)

2022. 5. 11. 13:17

DOM 기반 XSS 방어 관련 질문입니다.


https://okky.kr/article/872734?note=2239980

 

OKKY | DOM 기반 XSS 공격의 개념이 잡히질 않아 질문드립니다.

DOM Base XSS cheat sheet 문서를 읽어보는데 이해가 어려워 질문드립니다. DOM 기반 XSS 공격에 대해 URL에 포함된 악성 스크립트가 동작하여 발생하는 문제라고 배웠습니다. 이에 대해 HTML 코드로 인식

okky.kr

 

상기 링크의 질문에서 이어서 한 번 더 질문드리고자 합니다.

 

현재 관리 중인 페이지가 보안 검사 결과 URL 전반에서 DOM 기반 XSS 공격에 취약판정을 받았습니다.

 

공격받은 내용의 예시는 아래와 같습니다.

 

URL : https://127.0.0.1/cgi-bin/pglogin.cgi#jaVasCript:/*-/*`/*\`/*'/*"/**/(/*  */oNcliCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e

Method : GET

 

공격받은 URL (https://127.0.0.1/cgi-bin/pglogin.cgi ) 은 페이지 접속을 담당하는 CGI 전반이며

 

예시에 해당하는 URL로 접속하면 아래의 정적 HTML 문서를 전달합니다.

 

 

<!DOCTYPE HTML>
<html>
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
                <link type="text/css" rel="stylesheet" href="/css/style.css"/>
                <link type="text/css" rel="stylesheet" href="/css/jquery-ui.min.css"/>
                <link type="text/css" rel="stylesheet" href="/css/jquery.highlighttextarea.min.css"/>
                <!--
                <link type="text/css" rel="stylesheet" href="/css/offline-theme-default.css"/>
                <link type="text/css" rel="stylesheet" href="/css/offline-language-english.css"/>
                -->
                <script type="text/javascript" src="/js/jquery-3.5.1.min.js"></script>
                <script type="text/javascript" src="/js/jquery-ui.min.js"></script>
                <script type="text/javascript" src="/js/jquery.highlighttextarea.min.js"></script>
                <script type="text/javascript" src="/js/util.js"></script>
                <script type="text/javascript" src="/js/loginaction.js"></script>
                <!--
                <script type="text/javascript" src="/js/offline.min.js"></script>
                -->

                <title>Monitoring Tool Demo</title>
        </head>
        <body onload="initAntiCsrf()">
          <div align="center" halign="center">
            <div id="header">
              <table class="ttl_table">
                <tr>
                  <td class="ttl_title"><font size="5">Monitoring Tool Demo</font></td>
                </tr>
                <tr>
                  <td class="ttl_name">
                    &nbsp;
                  </td>
                </tr>
              </table>
            </div>
            <!-- vim:set ts=8 sts=2 sw=2: -->
            <table>
                        <h2>Log In</h2>
                        <tr>
                                <td>Name</td>
                                <td><input type='name' style='width:150px;' name='nm' maxlength='25' size='16' id="nm_input" required></input></td>
                        </tr>
                        <tr>
                                <td>Password</td>
                                <td><input type='password' style='width:150px;' name='ps' onKeyDown='EnterLogin(event);' maxlength='16' size='16' id="pw_input" required></input></td>
                        </tr>
                </table>
                <div id="warning" style="color:red; font-weight:bolder;"></div>
            <p>
                <input type='button' value='Log In' style='width:100px;' name='action'  onClick='BtLogin();' >
                &nbsp;&nbsp;&nbsp;
                <input type='reset' value='Cancel' style='width:100px;'>
            </p>
          </div>
        </body>
</html>

 

Input에 대한 검증 등은 전적으로 서버가 수행중이기에 이 부분도 고쳐야할 것 같습니다만...

 

제가 지식이 없어서인지 단순 페이지를 불러오는 URL에서 위와 같은 #을 활용한 공격법으로 취약판정이 나오는건 여전히 어째서인지를 모르겠습니다...

 

혹시 짐작가시는게 있다면 도와주시면 정말 감사하겠습니다.

'' 카테고리의 다른 글

SSRF (펌)  (0) 2022.06.14
HTTP Request Smuggling (펌)  (0) 2022.06.14
XSS 버그바운티 (펌)  (0) 2022.05.11
Wordpress file uplad exploit 확인  (0) 2022.05.02
wordpress 대표적인 취약점 정리  (0) 2022.04.29
블로그 이미지

wtdsoul

,