article thumbnail image
Published 2021. 10. 3. 20:38

dbms335라는 문제이며 sqli 문제임을 확인할 수 있다.

 

들어가면 일반 게시판에 검색할 수 있는 기능이 있다. 소스보기를 통해서 확인해보자.

 

소스에서 보면 parse_str을 통해서 SERVER('QUERY_STRING')에서 받은 값을 php변수로 저장하고 query_parts 변수가 있다면 where_clause문에 해당 변수의 내용을 넣어주게 된다, 이때 조건은 search_cols 변수가 존재 할 경우이다. 우리는 이 세가지 내용을 활용하여 우회할 수 있다.

seach_cols변수에 preg_match가 false가 되게 만들어 query_parts 변수에 원하는 쿼리문을 집어 넣어 실행하면 flag 값을 얻을 수 있을 것이다.

 

union select 1,2,3,4-- 을 사용해서 컬럼 수를 확인해주고

 

union select 1,table_name,3,4 from information_schema.tables--를 이용해서 table명(Th1s_1s_Flag_tbl)을 확인해주고

 

union select 1,column_name,3,4 from information_schema.columns--를 이용해서 column명(f1ag)을 확인해주고

 

위에서 얻은 table명과 column명을 조합하여 union select 1,f1ag,3,4 from Th1s_1s_Flag_tbl--을 통해서 flag 값을 출력 할 수 있었다.

 


참조

https://www.it-gundan.com/ko/php/url-%EC%BF%BC%EB%A6%AC-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%A7%A4%EA%B0%9C-%EB%B3%80%EC%88%98-%EA%B0%80%EC%A0%B8-%EC%98%A4%EA%B8%B0/941076391/

 

php — URL 쿼리 문자열 매개 변수 가져 오기

URI의 각 노드를 가져 오기 위해 explode() 함수를 $ _SERVER [ 'REQUEST_URI']에 사용할 수 있습니다. 문자열이 전달되는지 여부를 모른 채 문자열을 가져오고 싶다면. $ _REQUEST에서 쿼리 매개 변수를 가져

www.it-gundan.com

 

'워게임 > Wargame.kr' 카테고리의 다른 글

Wargame - SimpleBoard  (0) 2021.09.26
Wargame - web chatting  (0) 2021.09.26
Wargame - type confusion  (0) 2021.09.19
Wargame - tmitter  (0) 2021.09.19
Wargame - pyc decompile  (0) 2021.07.05
복사했습니다!