Challenge 8 시작!
바로 소스코드를 봐보자!
select 문과 insert 문이 존재한다.
select 문은 특정 agent의 id 값을 가져온다.
id 값이 admin 이면 문제가 해결되고, id 값이 없으면 insert 문을 통해 새로 추가시킨다.
그렇다면 admin 정보를 insert 하고 select 문을 통해 찾으면 되지 않을까?
일단 User-Agent 정보를 수정하기 위해 웹 디버거인 Fiddler 를 실행했다.
여기서 User-Agent 값에 새로 추가시킬 값을 작성하면 된다.
LOS 29단계에서도 사용했던 insert 문에서 값을 여러 개 넣을 수 있는 취약점을 이용할 것이다.
다음과 같이 User-Agent 값을 바꿔주자!
이렇게 수정한 뒤 실행하게 되면 다음과 같이 두 개의 id 가 생긴다.
하나는 admin 이고 다른 하나는 guest 이다.
이제 다시 select 문을 통해 agent 가 123 인 id 를 조회하게 되면 admin을 출력할 수 있을 것이다.
User-Agent 값을 123으로 바꾸고 실행하면 된다.
성공!
'WarGame > webhacking.kr' 카테고리의 다른 글
Challenge 10 (0) | 2020.02.15 |
---|---|
Challenge 9 (0) | 2020.02.14 |
Challenge 7 (0) | 2020.02.14 |
Challenge 5 (0) | 2020.02.08 |
Challenge 3 (0) | 2020.01.31 |