ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Wargame.kr dun worry about the vase
    WebHacking/Wargame.kr 2018. 2. 28. 23:45

    이 문제에서는 사실상 패딩 오라클 공격을 안 해도된다.

    평문을 알고 암호문을 알기 때문에 아마 base64 암호문이 2개가 있는데 두개를 복호화 하면 16byte가 나올것이다(hex로 바꾸면) 

    앞에 8byte가 Intermediary  value(IV)라고 예상을 할 수 있고 그 다음 8byte는 id라고 예측할 수 있다.


    Intermediary vector ^ 평문 = Intermediary value다.

    그렇다면 Intermediary value ^ 평문을 하면 Intermediary vector이 구해지고 서버 에서 평문을 구할때 Intermediary vector ^ Intermediary value이런식으로 해서 평문을 구한다.


    Intermediary vector ^ admin을 했을때  나오는 값을 Intermediary value로 쿠키 값에 넣어주면 서버상에서 복호화를 했을때 admin으로 생각을할것이다 !


    padding oracle attack은 일단 Intermediary value를 다 NULL로 덮으면 오류가 날것이다. 그 중에서 Intermediary value가 0x10 이라 했을때 내가 Intermediary vector에 0xf를 넣으면 복호화를 했을때 \x01이 나온다. 서버측에서는 \x01하나만 있기때문에 패딩이 한개라고 생각해서 오류가 나지 않을 것 이다.

    이 원리를 이용하여서 8byte 나 16byte를 구하는 방식으로 할 수 있다.

    그 다음 번째를 구하기 위해서는 \x02\x02를 만들어야된다. 2byte가 연속으로 복호화가 되기 때문이다. 

    그 다음 번째는 \x03\x03\x03을 만들어야된다. 


    이런식으로 Intermediary vector(value)가 8byte라면 내가 넣었을때 오류가 나지 않았던 헥스값에서 - 0x8을 해주면 Intermediary value를 구할수있다.

    'WebHacking > Wargame.kr' 카테고리의 다른 글

    Wargame.kr adm1nkyj  (0) 2018.02.28
    Wargame.kr jff3_magic  (0) 2018.02.27
    Wargame.kr QnA  (0) 2018.02.27
    Wargame.kr ip log table  (0) 2018.02.26
    Wargame.kr lonely guys  (0) 2018.02.26
Designed by Tistory.