워게임/Websec.fr [websec.fr] easy - Level 02 작성자 - 호롤로롤 level 02번의 설명을 보면 이전의 비슷한 문제라고 설명이 나와있다. (믿지 못한다면 확인해 보라고 한다..) 더해서 preg_replace() 함수를 통해서 union, order, select, from, group, by를 필터링하고 있다 설명한다. 소스보기를 통해서 살펴본 결과 level 01과 동일하다 물론 union, order, select, from, group, by는 NULL(공백) 필터링 되는 것을 확인 할 수 있었다. 실제로 웹 진단을 하다보면 문자를 공백 치환하는 경우를 많이 볼 수 있는데 조치가 미흡할 경우 우회할 수 있는 방법이 많이 있다. 예를들면 <script>태그 중 script를 공백으로 치환하는 경우인데, 조치 미흡으로 인해 <scrscriptipt>를 사용하게 되면 가운데 script가 공백으로 치환되면서 <script>가 먹히는 경우가 있다. (최근 실제로 먹히는 경우는 드물다.) 이를 바탕으로 문제를 접근해보도록 하자. 1. 1 ununionion selselectect 1,2를 활용해서 컬럼 수를 확인해 본다. 실제로 가운데 union과 select가 공백으로 치환되면서 query문에 1 union select 1,2 가 들어가면서 컬럼이 2개인 것을 확인해 볼 수 있었다. level 01과 동일하기 때문에 바로 flag 값을 시도해보자! 2. 1 ununionion selselectect 1, password frfromom users where id=1 를 사용해서 flag 값을 획득! 이와 같이 flag 값을 얻을 수 있었다. flag 값은 WEBSEC{BecauseBlacklistsAreOftenAgoodIdea}이다. 참고 https://mokpo.tistory.com/145?category=492066 [websec.fr] babysteps - Level 01 Level 01을 보면 user ID로 username을 보는데 사용되고 db에서 username을 반환한다고 설명되어 있다. This application -> source를 통해서 SQLite3를 사용한다는 정보와 쿼리문이 보인다. ($injection을 통한.. mokpo.tistory.com 공유하기 게시글 관리 MSS '워게임 > Websec.fr' 카테고리의 다른 글 [websec.fr] babysteps - Level 04 (0) 2021.07.18 [websec.fr] easy - Level 08 (0) 2021.07.14 [websec.fr] babysteps - Level 25 (0) 2021.07.07 [websec.fr] babysteps - Level 17 (0) 2021.07.04 [websec.fr] babysteps - Level 01 (0) 2021.07.03 Contents 당신이 좋아할만한 콘텐츠 [websec.fr] babysteps - Level 04 2021.07.18 [websec.fr] easy - Level 08 2021.07.14 [websec.fr] babysteps - Level 25 2021.07.07 [websec.fr] babysteps - Level 17 2021.07.04 댓글 0 + 이전 댓글 더보기