Git Product home page Git Product logo

canvas-hack's Introduction

canvas-hack

Discovering different vulnerabilities in Canvas

###Hack 1: 100% on quizzes that allow practice attempts: Scripts used:

  • quiz_bot.js: used for taking quizzes using data gathered from the quiz_analyzer.
  • quiz_analyzer.js: used to gather and store information about each practice quiz attempt.
  • TODO: still need to create quiz_cyborg.js: can be used to take the actual test since it does the same thing as the quiz bot but it will mimic human behavior as much as possible (e.g. wait a random second amount between 10-20 seconds to answer questions, skip some and come back to them, flag a question every once in a while, etc.)

Step-by-step instructions: (the more practice attempts, the better)

  1. Copy and paste the quiz_bot.js script in the javascript console (to open the javascript console use Cmd / Control + Shift + j in Chrome) on the practice quiz page (if there are no answers the analyzer has already gathered it will select the first answer to every question)
  2. Run quiz_analyzer.js on the results page. To view detailed information of what the script is doing, open your javascript console. The output includes how many total questions there are in the question / answer bank as well as how many of them are still incorrect.
  3. Repeat steps one and two until a complete answer bank is gathered with 0 answers incorrect.
  4. Type printAnswerKey() in the javascript console and copy and paste the results of that into a gist ........ TODO: clarify this step and make it easier (less technical)
  5. Map the gist url to a tiny url to make it easier to memorize.
  6. When taking the test, secretively open the javascript console (see keyboard shortcut above) and type $.get('url-to-js-file', function(data){eval(data)}); replacing url-to-js-file with the tiny url you created previously.
  7. Congrats, you just got 100% on your test or quiz without even looking at it! \(*O*)/

canvas-hack's People

Contributors

freakazoidjake avatar strix avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.