호그와트

드림핵 tmitter

영웅*^%&$ 2022. 1. 18. 09:57
728x90

가설 1 sign in 할 때 우회할 수 있는 방법이 있다

>char 32를 넘어가서 다르게 넣을 때 실질적으로 다른 admin을 같게 인식하는 취약점 이용

가설 2 sign up 할 때 admin으로 교묘하게 바꾸어서 sign up 할 수 있는 방법이 있다

가설 3 그냥 일반적인 login을 한 이후에 xss를 통해서 admin을 얻을 수 있다

위에 나오는 것처럼 여러 가지 공격벡터를 생각했다

실제 웹사이트에서는 굉장히 많은 공격 벡터가 발생할 수 있다

다만 이 문제에서는 자세히 보면 char 과 join with라는 내용이 나오는데

나는 이 굉장히 중요한 힌트를 놓침으로써 어떤 가설에 무게추가 치우치는지 완전히 놓쳤다고 볼 수 있다 이 문제에서 원했던 것은 admin으로 sign up하라는 것이었다

admin 비밀번호나 cookie값을 알 수는 없다 추론할 수도 없다

그러나 char(32)를 넘어갈 때 뒷 부분이 무시되는 취약점을 이용해서

admin으로 공백을 넣고 뒤에 아무 값이나 구분되는 값을 넣게되면

admin으로 sign up을 할 수 있게 된다 실질적으로는 다른 값이지만 결과적으로 웹은 같은 admin으로 인식한다(뒤에 값이 결국엔 사라지기 때문)

물론 그냥으로는 32를 넘는 값을 입력할 수 없기 때문에 개발자 도구를 이용해서 인위적으로 넣을 수 있는 값을 늘려주어야 한다

728x90

'호그와트' 카테고리의 다른 글

드림핵 tomcat manager  (0) 2022.01.18
드림핵 jff3_magic  (0) 2022.01.18
드림핵 you shall pass  (0) 2022.01.18
드림핵 web-deserialize python  (0) 2022.01.18
드림핵 linux forest  (0) 2022.01.18