Skip to content

GamrayW/7sleeping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 

Repository files navigation

7sleeping

7sleeping is a quizz solver for the 7Speaking plateform. It exists because of design choices that leak answers to the client.

Installation

  • Get this extension on your browser
  • Click here, tampermonkey should recognize the script and install it.
  • Launch quizzes and go to sleep

Demo

Once a quizz started, a button 7sleeping should appear, once clicked the bot will solve the questions

Debug

If there's bugs, please report them with the javascript console output and a description of the quizz.

Disclaimer

This was made solely for learning purposes, please refrain from using this bot for important exams.

Use this at your own risks, contributors can't be held accountable if your account gets banned or anything else while using 7sleeping.

How to fix

7sleeping can retrieve the answers from the client because the application uses design that leaks answers.

Take this example, a snippet of react code from an imaginary server:

class SecretClass extends React.Component {
  constructor() {
    super();
    this.secret = "SecretPassword!";
  }

  render() {
    return <h2>No one can know my secret!</h2>;
  }
}

When the render function will be executed, the client will be able to retrieve the whole SecretClass object and its attributes.

>> h2_tag.__reactFiber$1hbspvl3m9b.return.elementType.name
"SecretClass" 
>> h2_tag.__reactFiber$1hbspvl3m9b.return.stateNode['secret']
"SecretPassword!" 

As we can see, using return, we are able to go up the tree and retrieve the initial object SecretClass from the HTML h2 tag.

7sleeping uses a similar approach, retrieving quizz_div.memoizedProps.return.[...].memoizedProps.answerOptions, return is used to go up the object tree until finding the key 'answerOptions', which contain the correct answer.

About

automated 7speaking bot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published