VRChat 마이너 갤러리 저장소

제 목
유치원 데1스1건 만들었따 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
글쓴이
댕댕충
추천
14
댓글
9
원본 글 주소
https://gall.dcinside.com/vr/4311925
  • 2024-11-08 04:57:42
														

05b2de23fcd139ab2eed86e7429c756c6234547c8eb2c4a5497e108cbbce011b559ab6477b5cecf0d89421efac


어제 고아건이 안먹히는 월드가 있다고 누가 제보했는데

나는 그거 때문에 브챗이 아니라 월드에 취약점이 있다고 생각했음


아바타 고아건은 우리가 블락하면 안보이니까 상관없어지는데

월드는 숨길수도 없고 블락한 유저가 보낸 데이터도 동기화되니까 먹힌다는거임

즉 월드 고아건이라고도 할수잇을거같음


그래서 월드에 있는 어떤게 취약점이 있는가하고 생각해봤을 때

가장 많이 사용하는 펜 에셋인 QvPen을 먼저 떠올렸음 (사실 오래전에 친구가 넌지시 말한건데 누가 QvPen을 이용한거라고 이미 분석한걸로 착각했음)

그래서 QvPen을 테스트용 월드에 넣고 코드를 이리저리 살펴봤는데 실제로 고아건으로 작동할만한 부분이 있더라고


아래부터는 그냥 어떤 부분인지 설명하는거라 마지막 움짤이랑 결론만 읽어도 됨


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf503abfddfbeb50ddf37251b48ed0cc5


이 메서드인데 선의 점 데이터를 받아서 유니티 LineRenderer로 오브젝트화 하는 메서드임

여기서 눈여겨볼건 983번째 줄의 positionCount를 설정하는 부분인데

여기서 positionCount를 data.Length - GetFooterLength(data)로 결정하고 있음


나는 처음에는 엄청 큰 데이터를 보내서 렉을 유발하는걸로 생각했는데 그건 아니었음

브챗에도 대역폭 제한이 있어서 큰 데이터를 보낼수도 없고 빨리 보내려고 해도 엄청 느리게 보내짐

그래서 우동으로 동기화되는 data의 길이인 data.Length는 문제가 아님


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf505aaf8dcbcb7432f35eca508621865


위는 GetFooterLength 메서드의 코드야

QvPen은 동기화할때 추가 정보를 뭔가 다른 변수로 공유하는게 아니라 Vector3 배열 끝에 넣어서 공유하더라고

여기서 주목할 점은 GetData(data, FOOTER_ELEMENT_DATA_INFO).z 인데

그냥 Vector3 배열의 정해진 부분을 읽고 z 원소를 쓰는거임

저 부분의 z 원소에는 footer size라는게 들어가는데


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf506aaf3d2bab1acfd8924ac6615711b


위 메서드로 클라이언트 측에서 결정해서 넣어서 보내는거임

나도 정확히 뭘 위한건지 모르겠지만 아무튼 중요한건 저 footer size가 들어가는 부분을 클라이언트가 결정한다는 거임


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf508a7fad8bdb83ace3222e9b5293f7d


그러면 위에 CreateInkInstance 메서드의 983번 줄로 돌아가보면

결국 data의 footer length가 들어가는 부분에 큰 음수값을 넣으면

positionCount에 큰 양수가 들어가게 됨

정확힌 모르지만 line renderer에 positionCount에 큰 값을 넣으면 그 만큼 배열 할당하면서 CPU랑 메모리도 올라갈거임

footer size를 클라이언트가 패킷에 넣어서 보내는 방식이기 때문에 해커들이 뭔가 엄청난걸 할 필요도 없고 걍 보내는 데이터에 저 부분만 조작하면 됨


이걸 테스트하기 위해서 저 부분에 원하는 값을 넣어서 보낼 수 있는 버튼을 만들었음


viewimage.php?id=3baf&no=24b0d769e1d32ca73de98ffa1bd62531904e3409f6e528d418e9c4060d2f664aed2f5aa61b935ffb3bf509abfad9beb506657b92b2d53115fa


저렇게 원하는 footer size 값을 정해서 넣을 수 있음

대충 -10000000 넣어봤음

이러면 positionCount가 5 - 10000000 = 9999995가 됨


05b2de23fcd139ab2eed86e7429c756c6234587c8eb0c4a2487e1085bbce011b8eaac7130e7f6bf9f181ba29fb30


위는 버튼 눌렀을 때 다른 유저 메모리가 폭증하면서 튕기는걸 재현한 모습

버튼 누른 쪽은 안튕기는데 이건 버튼 누른 사람은 펜으로 안그려지게 QvPen 코드 약간 수정했음 (어차피 해커들은 걍 패킷 바로 쏘는거일테니 별 상관없음)

근데 문제는 펜을 끄면 동기화가 안일어나서 안튕긴다는 거임

그래서 꼭 이게 지금 유행하는 고아건이 사용하는 방식이라는 법은 없긴함


[세줄 요약]

1. 지금 유행하는 고아건은 월드의 특정 에셋의 취약점을 이용하는 "월드 고아건" 인거같다.

2. QvPen에도 쉽게 조작할 수 있는 취약점이 있다.

3. 지금 유행하는 고아건이 꼭 QvPen을 이용한거라는 법은 없다. 다른 에셋에도 혹은 VRChat 자체에도 비슷한 취약점이 있을 수 있음.

기름참치 QV 펜 이 역적놈 2024.11.08 04:58:38
메이윤 왤케똑똑함 2024.11.08 05:00:06
ㅇㅇ1 저런게 있노 125.137 2024.11.08 05:00:12
햄계란 와 이게 뭐야.. - dc App 2024.11.08 05:00:32
매장 2024.11.08 05:01:52
Retrika 2024.11.08 05:02:21
모생선 2024.11.08 05:04:04
ㅇㅇ2 이걸로 고아들 그룹 월드 터트려줭 210.101 2024.11.08 05:04:06
ㅇㅇ 2024.11.08 05:16:24
번호 분류 제목 글쓴이 날짜 추천
4318821 유치원 그 완장은 유륜 삐져나오는 옷 좀 그만 입어라 14 ㅇㅇ 118.235 2024-11-11 13
4318767 유치원 이 새끼 뭐냐? 8 ㅇㅇ 14.4 2024-11-11 16
4318665 유치원 브챗거울보면서가슴만지다가 진짜가슴커졌는데 이거어떡함 14 ㅇㅇ 211.235 2024-11-11 10
4318261 유치원 VR게임 핵쟁이 씨발 존나 어이없노 9 ㅇㅇ 2024-11-11 11
4317571 유치원 후기) 쓰담번개 음란행위 폭로 9 나루미 2024-11-10 12
4317097 창작 눈 텍스쳐 출시했어요! 26 ㅇㅇ 2024-11-10 13
4317031 유치원 머냐 요즘 웃기게 생기면 념글가네 1 칸터 2024-11-10 18
4317014 유치원 마누카 얼굴 이정도만 깎을까.. 17 ㅇㅇ 58.227 2024-11-10 10
4316850 도와줘 뒤조심) 가슴 누를때마다 호빵이 되는데 이거 어떻게 해결해???? 18 LICO 2024-11-10 10
4316720 유치원 너네 이거 알고있었냐 16 댕댕충 2024-11-10 13
4316472 유치원 병신 목록.list 21 노그 2024-11-10 11
4316433 유치원 데탑 괜찮은 포즈에셋 찾아서 공유함 5 닝바이 2024-11-10 10
4316415 유치원 나... 호감작... 성공했나봐... 22 버터단또 2024-11-10 10
4316139 유치원 님들 짤녀 오늘 그날임ㄷㄷ 26 [피자] 2024-11-10 10
4315071 유치원 왜질삭튀해?왜질삭튀해?왜질삭튀해? 8 몽블랑위에올라간밤크림의이름을아시나요 2024-11-09 12
4315031 ♿️ 와 반트 따잇하는재미 ㅋㅋ 게임이 갑자기 재밌어졌네~~~ 3 ㅇㅇ 2024-11-09 12
4315018 강좌/팁 꿀팁) 대기방에서 버터캣 갖다버리는 방법 찾음 14 이거진짜예요? 2024-11-09 15
4314427 유치원 빵덕냥이 << 이새끼 좀 접었으면 10 ㅇㅇ 118.235 2024-11-09 10
4314375 유치원 Remember, a ordinary persen 11 ㅇㅇ 220.116 2024-11-09 10
4314341 유치원 글에 개추만 들어가면 추천에 손올라감 4 어린양 2024-11-09 13
4314337 유치원 개추박히는 짤 많이 모으고 싶다 9 ㅇㅇ 2024-11-09 11
4314255 도와줘 마누카 얼굴 깎았는데 안이상한지 한번만 봐줄사람 18 ㅇㅇ 211.219 2024-11-09 10
4313348 유치원 셀레스티아 써보기 14 VR비보이 2024-11-08 12
4312912 도와줘 브붕이 라임 얼굴 다시 고쳐봄 40 ㅇㅇ 211.219 2024-11-08 10
4312855 유치원 혹시 몰라서 적는 QvPen 취약점 해결법 6 댕댕충 2024-11-08 10
4312618 유치원 슬픈 흑마법사의 이야기를 아시나요 20 시스터즈 2024-11-08 11
4312142 유치원 내가 굳이 QvPen 취약점 알린 이유 설명드림 16 댕댕충 2024-11-08 16
4312107 유치원 념글 이해할 수가 없네 8 ㅇㅇ 211.235 2024-11-08 15
> 유치원 데1스1건 만들었따 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 9 댕댕충 2024-11-08 14
4311273 유치원 개추해주셈님들급함 6 버터밀크 2024-11-08 13
4310999 유치원 애미싸발 14 소냐 2024-11-07 22
4310661 유치원 씨발 13 치이아루엘 2024-11-07 11
4310660 유치원 아오 번개끝나고 기분좋게 헤드마운트 벗었더니ㅡㅡ 10 시구루루 2024-11-07 11
4310608 유치원 님들 이거 진짜 파딱들 모아둔 그룹임?? 9 ㅇㅇ 112.156 2024-11-07 9
4310389 유치원 존나 찐따같긴하네 5 ㅇㅇ 61.96 2024-11-07 12
4309960 강좌/팁 (릴툰, 초간단) 세이프티 걸린 아바타 폴백 쉐이더 라이팅 정상화 12 Cosmodiver 2024-11-07 10
4309805 유치원 수위 아슬아슬♥ 게ㅇl동영상♥ 짤 ㄹlㄱl 전 어I 빨리들어와 13 ㅇㅇ 121.129 2024-11-07 12
4309650 유치원 브붕이 작업멘트 ㅁㅌㅊ 12 ㅇㅇ 2024-11-07 13
4309182 유치원 쟤 경계선이나 ADHD 같던데 10 ㅇㅇ 39.7 2024-11-07 16
4309098 유치원 념글 공감이 안되는이유 7 검은해바라기 2024-11-07 10
념글 삭제글 갤러리 랭킹