Webhacking 35번 문제입니다.
제공되는 소스코드가 있으니 소스코드부터 살펴보겠습니다.
코드를 해석해보자면 GET방식으로 phone 와 id를 입력받고 있으며
phone에는 * / = select - # ; 가 필터링되고 있으며 GET방식으로 입력할 id는 5글자가 제한입니다.
또한 GET방식으로 id부분에는 admin이 필터링 걸려있습니다.
쿼리 부분을 살펴보면 chall35(id, ip, phone)에 values로 3개의 값을 입력받고 있습니다.
다음 구문을 살펴보면 id='admin' 이고 ip가 접속자의 IP와 같다면 문제가 해결된다고 합니다.
어디서 많이 본 values인데 이전에 wenhacking 8번을 풀때 삽질한 부분입니다.
https://skysquirrel.tistory.com/102
Webhacking Writeup 8번 문제
Webhacking 8번 문제입니다. 소스코드를 제공해주고 있으니 먼저 소스코드를 보겠습니다. PHP코드로 이루어져 있으며 query등이 보이는 것으로 SQL 인젝션이 필요한 문제라고 생각하였습니다. 먼저 코
skysquirrel.tistory.com
그때 결국에는 values를 여러개 입력하는 방법을 찾지 못했는데 이후에
https://hyunchang88.tistory.com/341
[MySQL] 여러개 한번에 insert 하기
PostgreSQL 에서는 INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'); INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'), INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'); 이런식..
hyunchang88.tistory.com
위의 방법을 찾을 수 있었습니다.
즉 이번 문제에서 phone 입력부분에 values를 여러개 입력하도록 조작한다면 가능할 것입니다.
일단 아무것도 입력하지 않고 제출해보면
id는 기본으로 guest로 들어가 있습니다.
phone 부분에
phone=011),('admin', '내 아이피' ,012)&id=guest를 삽입해주면 쿼리는 아래와 같이 이루어지게 됩니다.
"insert into chall35(id,ip,phone) values('guest','내 ip ',011),('admin','내 ip',012)"
위와 같이 되면 id가 admin 상태로 내 ip가 등록되어
아래 if구문이 True가 되어 문제가 해결될 것 입니다.
문제사이트에 전달해보면
문제가 해결되었습니다.
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 30번 문제 (0) | 2022.10.28 |
---|---|
Webhacking Writeup 28번 문제 (1) | 2022.10.13 |
Webhacking Writeup 25번 문제 (0) | 2022.09.26 |
Webhacking Writeup baby 문제 (0) | 2022.09.26 |
Webhacking Writeup 22번 문제 (1) | 2022.09.26 |