ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • |webhacking.kr| #8
    Wargame 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

    댓글

Designed by Tistory.