article thumbnail image
Published 2021. 9. 26. 22:49

간단한 UNION SQL INJECTION 문제라고 나와있다. web chatting을 union based sqli로 풀었으니 비슷한 문제일거 같다.

 

들어가 보면 4개의 게시물이 있다. 들어가 보면 일반적인 게시글 형태로 되어 있으며 idx라는 파라미터 구분자로 구분하고 있다.

 

그렇게 idx에 union 구문을 넣어 전달하는데 계속해서 query error를 응답했다.. 처음에 위에서 스크립트가 필요하다할때 생각보다 컬럼 수가 많은가 생각했었다,,

 

소스보기를 통해서 살표보면 read_chk 함수를 통해서 "/".$idx가 존재하면 값을 읽어오고 아니면 에러를 띄우는거 같다.

 

쿠키 값을 확인해보니 위와 같이 /0으로 view 값에 들어가 있는것을 확인할 수 있었다.

 

쿠키 값에 똑같이 union select 1,2,3,4를 넣고 idx 값에 넣어주면 전과 다르게 query error가 뜨지 않고 컬럼수가 4개 인것을 파악 할 수 있었다.

 

union select 1,2,3,table_name from information_schema.tables limit 0,1을 통해서 테이블을 확인하고

 

union select 1,2,3,column_name from information_schema.columns limit 0,1을 통해서 컬럼명을 확인했으면 이제 flag 값을 출력할 수 있을 것 같다.

 

union select 1,2,3,flag from README를 입력하면 flag 값을 확인해 볼 수 있었다.

 

쿠키값 중 view에 값을 넣어야 하는 부분으로 시간이 많이 걸린거 같다.


참조

https://webstone.tistory.com/25

 

SQL Injection(Union based SQL Injection 실습)

※※일단 UNION SQL인젝션을 실습 하기 전에 UNION SQL 인젝션 공격을 이용할때 사용하는 information_schema의 구조와 기본적이면서 중요한 개념을 설명하고 실습을 하겠다.※※※※※※※※※※※ 개인

webstone.tistory.com

 

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

Wargame - dmbs335  (0) 2021.10.03
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
복사했습니다!