Contents

Algorithm
2014.07.01 17:55

OCB5 Injection 앗싸뵹! ㅋㅋ

조회 수 810 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

앗쌰뵹 ㅋㅋㅋ


이렇게 Javascript Injection 으로 점수 조작이 가능하다 ㅋㄷ;




# 인젝션 함수 실행 부분 Example

NSString *prefixUrl1 = @"https://appgame.okcashbag.com/game/2048/";
if([request.URL.absoluteString hasPrefix:prefixUrl1]) {
  [self performSelector:@selector(doInjection) withObject:nil afterDelay:5.0];
}


# Javascript 인젝션 함수 Example

- (void)doInjection {
  NSString *buildString = @"game2048_04210214";
  NSString *scoreString = @"513842";
  NSString *keyString = @"26gameState";
  
  // 초기 값 확인 함
  [self viewJson:keyString];
  
  // 스코어 인젝션
  NSString *game2048String = [[NSUserDefaults standardUserDefaults] objectForKey:buildString];
  if ([game2048String isEqualToString:@"Y"] == NO) {
    [[NSUserDefaults standardUserDefaults] setObject:@"Y" forKey:buildString];
    [self injectScore:scoreString key:keyString];
    
    // 잘 됐는지 확인 함
    [self viewJson:keyString];
  }
}

- (void)viewJson:(NSString *)keyString {
  //NSString *result1 = [NSString stringWithFormat:@"localStorage.getItem('12gameState');"];
  NSString *result1 = [NSString stringWithFormat:@"localStorage.getItem('%@');", keyString];
  NSString *value1 = [_webView stringByEvaluatingJavaScriptFromString:result1];
  NSLog(@"------> value1 : %@", value1);
}

- (void)injectScore:(NSString *)scoreString key:(NSString *)keyString {
  //NSString *keyString = @"12gameState";
  //NSString *scoreString = @"460182";
  //NSString *buildString = @"game2048_1127";
  NSString *result0 = [NSString stringWithFormat:@"localStorage.setItem(\"%@\",
    JSON.stringify({\"grid\":{\"size\":4,\"cells\":[[{\"position\":{\"x\":0,\"y\":0},\"value\":2},
    {\"position\":{\"x\":0,\"y\":1},\"value\":1024},{\"position\":{\"x\":0,\"y\":2},\"value\":8192},
    {\"position\":{\"x\":0,\"y\":3},\"value\":64}],[{\"position\":{\"x\":1,\"y\":0},\"value\":512},
    {\"position\":{\"x\":1,\"y\":1},\"value\":256},{\"position\":{\"x\":1,\"y\":2},\"value\":256},
    {\"position\":{\"x\":1,\"y\":3},\"value\":128}],[{\"position\":{\"x\":2,\"y\":0},\"value\":1024},
    {\"position\":{\"x\":2,\"y\":1},\"value\":4},{\"position\":{\"x\":2,\"y\":2},\"value\":2},
    {\"position\":{\"x\":2,\"y\":3},\"value\":2048}],[{\"position\":{\"x\":3,\"y\":0},\"value\":1024},
    null,null,null]]},\"score\":%@,\"over\":false,\"won\":false,\"keepPlaying\":false,\"started\":true}));",
    keyString, scoreString];
  NSString *value0 = [_webView stringByEvaluatingJavaScriptFromString:result0];
  NSLog(@"------> value0 : %@", value0);
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
345 Develop [js] 이벤트 핸들러(Event Handlers) hooni 2003.04.23 6729
344 Develop [js] 가운데 새창 뜨는 함수와 이벤트 hooni 2003.04.23 6723
343 Develop [c] 서비스 거부 공격(DoS;Denial of Service) 간단 소스.. ㅋㅋ file hooni 2013.04.23 6720
342 Develop [php] 서버 이상 체크 해서 문자보내는 샘플소스.. file hooni 2013.04.23 6693
341 Develop [c++] 헤더, 소스 파일 분리해서 작성해본 테스트 소스 file hooni 2013.04.23 6688
340 Develop [java] 스윙(swing) 인터페이스 이용해서 만든 구구단.. ㅋㅋ file hooni 2003.04.23 6682
339 Develop [c] 컴파일러 선행처리기 따라하기.. file hooni 2003.04.23 6681
338 Develop [c] alarm()함수 설명과 간단한 예제 file hooni 2013.04.23 6678
337 Database [mysql] CPU 점유율이 높을 때 확인할 내용 hooni 2015.08.26 6653
336 Develop [js] 스타크래프트(starcraft).. file hooni 2013.04.23 6641
335 Develop [c++] 인라인 함수 설명과 예제.. file hooni 2013.04.23 6633
334 Develop [c] 웅지학원 NAT를 소스코드로.. file hooni 2013.04.23 6611
Board Pagination Prev 1 ... 65 66 67 68 69 70 71 72 73 74 ... 98 Next
/ 98