Season 1/워게임 Old - 23 Write Up 작성자 - LRTK 이번 문제는 xss 문제인 것 같다. 일단, 밑에 나온 alert 창을 띄우는 스크립트를 삽입하면 어떻게 반응하는지 확인하였다. <script>alert(1);</script> 스크립트가 서버의 xss 필터에 걸리면, no hack을 출력하는 것을 볼 수 있다. 혹시 자바스크립트로 xss 필터 기능을 정의했는지 또는 주석으로 힌트가 있는지 확인해봤다.확인한 결과 PHP에서 xss필터 기능을 정의되었고, 코드 상에는 힌트가 없었다. 그렇다면, xss 필터가 어떤 것을 필터링하는지 확인을 해야한다. 필터링 목록 script alert Xss에 사용되는 HTML 태그 (img, svg, onclock, onerror 등등) 손으로 직접쳐서 확인한 결과 대문자 상관없이 script와 alert가 필터링 되어있었다.또한 단어에서 사용된 알파벳 2이상 조합하는 것도 필터링 되었다.e.g.) sc, ri, cs, al, lt 하지만, 특수문자는 필터링이 되어있지 않았다. 필터링을 우회하기 위해 나는 이중 인코딩, Null 바이트를 사용하여 우회를 시도하였다. 일단, 문제에서 주어진 것은 <script>alert(1);</script>이라서 이것을 가지고 시도하였다. 이중 인코딩 <script>alert(1);</script>를 이중 url 인코딩 한 값을 서버로 보내니, 한번의 디코딩 후 출력되어 필터링을 우회할 수 없었다. Null 바이트 필터에 걸리는 script와 alert의 알파벳 사이에 null 바이트를 넣어서 서버로 보냈다. <%00s%00c%00r%00i%00p%00t>%00a%00l%00e%00r%00t(1);</%00s%00c%00r%00i%00p%00t> 그 결과 xss이 성공하여 flag를 획득할 수 있다. 공유하기 게시글 관리 MSS 'Season 1 > 워게임' 카테고리의 다른 글 Old - 36 Write Up (0) 2021.05.17 Old - 33 Write Up (0) 2021.05.17 Old - 20 Write Up (0) 2021.05.17 Old - 1 Write Up (0) 2021.05.17 Old - 58 Write Up (0) 2021.05.16 Contents 당신이 좋아할만한 콘텐츠 Old - 36 Write Up 2021.05.17 Old - 33 Write Up 2021.05.17 Old - 20 Write Up 2021.05.17 Old - 1 Write Up 2021.05.17 댓글 0 + 이전 댓글 더보기