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
번호 분류 제목 글쓴이 날짜 추천
4312304 유치원 가습기살까싶다가도 8 ㅇㅇ 2024-11-08 0
4312303 유치원 감기좆같다 ㅇㅇ 121.180 2024-11-08 0
4312302 유치원 뽀송뽀송한 보지에 자지넣고싶다 5 ㅇㅇ 106.101 2024-11-08 0
4312301 유치원 은하계를 가로지르는 허튼소리 영화감상회 열면 얼마나 옴 6 노그 2024-11-08 0
4312300 유치원 아이템 매니아에 왜 VRCHAT 카테고리 없냐? 3 시스터즈 2024-11-08 0
4312299 유치원 완벽한 제 오늘 플랜을 보실 분 18 ㅇㅇ 2024-11-08 0
4312298 유치원 5년 넘게 갤질하면서 차단 한번도 안먹음 6 ㅇㅇ 211.235 2024-11-08 0
4312297 유치원 이제 쉴거야 1 dldy 2024-11-08 0
4312296 유치원 공포영상보는번개왜요즘은안열림 9 ㅇㅇ 2024-11-08 0
4312295 유치원 초코파이똥이랑 카린토 올리면 큰일나겠네 2 ㅇㅇ 112.147 2024-11-08 0
4312294 유치원 영화감상 쓰담 음주번개 8 선민이 2024-11-08 0
4312293 유치원 님들라면드시지마세요체질이라는게바뀝니다 4 레레땅 2024-11-08 0
4312292 유치원 지금 시발 벨튀가 문제가 아니야 3 ㅇㅇ 2024-11-08 0
4312291 유치원 요즘 그런 생각이 드네 인카 2024-11-08 0
4312290 유치원 집주인아저씨 난방을 개쌔게틀어둠.... 1 파체 2024-11-08 0
4312289 유치원 금요일인데 음교회없는거 선넘네.. 말랑홀 2024-11-08 0
4312288 유치원 꼴리는애들 어디가야잇음 6 ㅇㄴ 2024-11-08 0
4312287 유치원 벨튀 어차피 한시간 넘게 못줌 이제 ㅋㅋ 2 노그 2024-11-08 4
4312286 유치원 여기 애들 똥을 너무 많이 봤나봐.. 5 ㅇㅇ 112.147 2024-11-08 0
4312285 유치원 롤하면서 채팅 킨거 진짜 오랜만이네 11 접근금지 2024-11-08 0
4312284 유치원 과몰입 특징) 남자랑 여자가 하는거임 삼중하나 2024-11-08 1
4312283 유치원 1. 브붕이를 들어올린다 ㅇㅇ 2024-11-08 0
4312282 유치원 애옹한접시) 3 ㅇㅇ 2024-11-08 0
4312281 유치원 유동 아이피 왜 이거냐 ㅅㅂ 14 ㅇㅇ 211.235 2024-11-08 0
4312280 유치원 브붕이공략법 1 레레땅 2024-11-08 0
4312279 유치원 사실 나도 걔한태 마음 있었음... ㅇㅇ 211.235 2024-11-08 3
4312278 유치원 2 ㅇㅇ 211.235 2024-11-08 0
4312277 유치원 솔직히 도넘는 성칭찬하거나 놀려도 내가 할수있는건 없음 16 브븐 2024-11-08 0
4312276 유치원 신문고벨튀했음 4 오피녀 2024-11-08 0
4312275 유치원 콩나물초코빵같은거 만들어서 올리면 1 요리타요시노 2024-11-08 0
4312274 유치원 완장들은 5분대기조처럼 신문고 대기해야함 ㅇㅇ 58.188 2024-11-08 0
4312273 유치원 오늘 피부왤캐 뽀송하지 17 ㅇㅇ 2024-11-08 0
4312272 유치원 자고왔워 9 ChoiKatz 2024-11-08 0
4312271 유치원 신문고 따잇 하는 재미 4 ㅇㅇ 223.39 2024-11-08 0
4312270 유치원 휴지심 적셔서 뭉쳐두면 8 ㅇㅇ 2024-11-08 0
4312269 유치원 퀘3 문제 없고 공유기 문제 없고 글카 문제 없고 2 ㅇㅇ 14.5 2024-11-08 0
4312268 유치원 바이브 이 씨발새끼들 1 ㅇㅇ 112.147 2024-11-08 0
4312267 유치원 부모님 도와서 김장 할 배추 옮겨드렸슴 4 BluesLuna 2024-11-08 0
4312266 유치원 과몰입좀할수있지왜그래 6 버터단또 2024-11-08 0
4312265 유치원 같이 그거할래? 1 ㅇㅇ 106.101 2024-11-08 0
념글 삭제글 갤러리 랭킹