돌아가는 순서를 파악해 보고 뭐를 할지를 생각해 보자
- agent 변수에 웹사이트를 접속한 CPU의 웹브라우저 정보를 저장
- ip 에 접속자의 ip정보를 저장
- agent 변수에 from 이라는 값이 있으면 필터링.
-> access denied
- db 변수에 db연결정보저장
- count_ck 변수에 array 값 가져온거 저장
- 배열의 0번째 인덱스의 크기가 70 이상이면
-> delete from chall8
뭘 지운다는 건지 모르겠다.
- result 변수에 query 저장
- ck 변수에 result 에 대한 arr 가져옴
- ck 변수의 값이 존재한다면
hi _____ 출력
ck[0]이 admin이면 문제 해결
- ck 변수에 값이 들어있지 않다면
done! 출력
q 변수이용해서 정보 집어넣거나, query error 띄움.
결론적으로 값을 넣을수 있는 변수를 찾아보면 흠,,,,,,,,,,,내 아이피 정보를 바꿔야지 풀수 있는 문제 같다.
SERVER['HTTP_USER_AGENT'] 값을 변조 할 수 있는지 찾아보자
insert into chall8(agent,ip,id) values('{$agent}','{$ip}','guest')"
이부분을 이용해서 우리가 원하는 값을 넣어줄 수 있을꺼같다.
지금 default 값으로 guest가 들어가 있는거 같으니,
insert into chall8(agent,ip,id) values('{$agent},'{$ip}','admin'),('{$agent}','{$ip}','guest')"
이런 꼴로 넣어주면 되겠다
즉 넣어주야 하는 값은
{$agent},'{$ip}','admin'),('{$agent} 이부분이다.
done!이 나왔다.
vared','1.1.1.1','admin') # 이렇게 내 맘대로 값을 만들어주고, 테이블을 채워주고, (70개)
-> ck[0]까지를 덮어써줘야하니까,
user-agent 값으로 vared 를 보내주면 문젝 풀린다.
'WriteUp > Webhacking.kr' 카테고리의 다른 글
webhacking.kr : challenge 14 (0) | 2020.09.11 |
---|---|
webhacking.kr : challenge 12 (0) | 2020.09.11 |
webhacking.kr : challenge 7 (0) | 2020.09.11 |
webhacking.kr : challenge 6 (0) | 2020.09.11 |
webhacking.kr : challenge 5 (0) | 2020.09.11 |