-
|webhacking.kr| #8Wargame Site/Webhacking.kr 2019. 7. 3. 19:13
User-Agent 라는 글자 뿐이다. 얼른 소스보기하자 ㅎㅎ
index.phps 로 들어간다.
User-Agent 를 받아온 뒤 막막 처리하는 것이 보인다.
우선 burp suite 를 켰다.
프록시 툴을 이용해서 User-Agent 를 변경하는 방식으로 진행한다.
다음과 같은 많은 문자들을 필터링하는 것을 볼 수 있다. 어떤 문자를 필터링 하고 있는지 천천히 정리해보도록하자.
코드를 분석해보면 두 개의 query 가 동작한다.
Query 1 > select id from lv0 where agent=' '
Query 2 > insert into lv0(agent,ip,id) values('$agent','$ip','guest')
1 번은 lv0 Table 로 부터 특정 agent 의 id 를 가져오는 쿼리이고,
2번은 lv0 에 특정 정보를 추가하는 쿼리이다.
여기서 주목해야할 점은, ' 과 " 의 사용이 가능한지 불가능한지 파악하는 것이다.
만약 사용이 불가할 시에 Query 1 에서는 더 이상의 추가적인 변형이 불가능하다.
처음에는 union 이 막혀있기 때문에 uni'on 과 같은 형식의 접근도 생각했었지만, ' 를 사용할 방도가 없기에 바로 길을 틀었다.
User-agent 를 기준으로 필터링 목록을 다시 정리해보면
Query 1 은 결국 $pat 의 filtering 목록 + ' + "
Query 2 에는 $pat 의 filtering 목록
가 되기 때문에 Query2 를 조작해서 Los 29 번 문제 의 핵심개념을 적용시키면 문제를 해결할 수 있다.
먼저 admin 을 테이블에 추가해준 뒤 !
정상적으로 agent 를 맞춰주면.....
짜잔!
'Wargame Site > Webhacking.kr' 카테고리의 다른 글
|webhacking.kr| #10 (0) 2019.07.05 |webhacking.kr| #9 (0) 2019.07.05 |webhacking.kr| #7 (0) 2019.07.02 |webhacking.kr| #6 (0) 2019.07.02 |webhacking.kr| #5 (0) 2019.07.02 댓글