JavaScript Cheat Sheet

Below you can find the Javascript cheat sheet in .pdf as well as in the text.

JavaScript Cheat Sheet

JavaScript Basics

Let’s start off with the basics – how to include JavaScript in a website.

Including JavaScript in an HTML Page

To include JavaScript inside a page, you need to wrap it in <script> tags:

<script type="text/javascript">

//JS code goes here


With this input, the browser can identify and execute the code properly.

Call an External JavaScript File

You can also place JavaScript in its own file and name it inside your HTML. That way, you can keep different types of code separate from one another, making for better-organized files. If your code is in a file called myscript.js, you would call it:

<script src="myscript.js"></script>

Including Comments

Comments are important because they help other people understand what is going on in your code or remind you if you forgot something yourself. Keep in mind that they have to be marked properly so the browser won’t try to execute them.

In JavaScript you have two different options:

  • Single-line comments — To include a comment that is limited to a single line, precede it with //
  • Multi-line comments — In case you want to write longer comments between several lines, wrap it in /* and */ to avoid it from being executed

Variables in JavaScript

Variables are stand-in values that you can use to perform operations. You should be familiar with them from math class.

var, const, let

You have three different possibilities for declaring a variable in JavaScript, each with their own specialties:

  • var — The most common variable. It can be reassigned but only accessed within a function. Variables defined with var move to the top when the code is executed.
  • const — Can not be reassigned and not accessible before they appear within the code.
  • let — Similar to const, the let variable can be reassigned but not re-declared.

Data Types

Variables can contain different types of values and data types. You use = to assign them:

  • Numbers — var age = 23
  • Variables — var x
  • Text (strings) — var a = "init"
  • Operations — var b = 1 + 2 + 3
  • True or false statements — var c = true
  • Constant numbers — const PI = 3.14
  • Objects — var name = {firstName:"John", lastName:"Doe"}

There are more possibilities. Note that variables are case sensitive. That means lastname and lastName will be handled as two different variables.


Objects are certain kinds of variables. They are variables that can have their own values and methods. The latter are actions that you can perform on objects.

var person = {

The Next Level: Arrays

Next up in our JavaScript cheat sheet are arrays. Arrays are part of many different programming languages. They are a way of organizing variables and properties into groups. Here’s how to create one in JavaScript:

var fruit = ["Banana", "Apple", "Pear"];

Now you have an array called fruit which contains three items that you can use for future operations.

Array Methods

Once you have created arrays, there are a few things you can do with them:

  • concat() — Join several arrays into one
  • indexOf() — Returns the first position at which a given element appears in an array
  • join() — Combine elements of an array into a single string and return the string
  • lastIndexOf() — Gives the last position at which a given element appears in an array
  • pop() — Removes the last element of an array
  • push() — Add a new element at the end
  • reverse() — Sort elements in a descending order
  • shift() — Remove the first element of an array
  • slice() — Pulls a copy of a portion of an array into a new array
  • sort() — Sorts elements alphabetically
  • splice() — Adds elements in a specified way and position
  • toString() — Converts elements to strings
  • unshift() —Adds a new element to the beginning
  • valueOf() — Returns the primitive value of the specified object


If you have variables, you can use them to perform different kinds of operations. To do so, you need operators.

Basic Operators

  • + — Addition
  • - — Subtraction
  • * — Multiplication
  • / — Division
  • (...) — Grouping operator, operations within brackets are executed earlier than those outside
  • % — Modulus (remainder )
  • ++ — Increment numbers
  • -- — Decrement numbers

Comparison Operators

  • == — Equal to
  • === — Equal value and equal type
  • != — Not equal
  • !== — Not equal value or not equal type
  • > — Greater than
  • < — Less than
  • >= — Greater than or equal to
  • <= — Less than or equal to
  • ? — Ternary operator

Logical Operators

  • && — Logical and
  • || — Logical or
  • ! — Logical not

Bitwise Operators

  • & — AND statement
  • | — OR statement
  • ~ — NOT
  • ^ — XOR
  • << — Left shift
  • >> — Right shift
  • >>> — Zero fill right shift


JavaScript functions are blocks of code that perform a certain task. A basic function looks like this:

function name(parameter1, parameter2, parameter3) {
    // what the function does

As you can see, it consists of the function keyword plus a name. The function’s parameters are in the brackets and you have curly brackets around what the function performs. You can create your own, but to make your life easier – there are also a number of default functions.

Outputting Data

A common application for functions is the output of data. For the output, you have the following options:

  • alert() — Output data in an alert box in the browser window
  • confirm() — Opens up a yes/no dialog and returns true/false depending on user click
  • console.log() — Writes information to the browser console, good for debugging purposes
  • document.write() — Write directly to the HTML document
  • prompt() — Creates a dialogue for user input

Global Functions

Global functions are functions built into every browser capable of running JavaScript.

  • decodeURI() — Decodes a Uniform Resource Identifier (URI) created by encodeURI or similar
  • decodeURIComponent() — Decodes a URI component
  • encodeURI() — Encodes a URI into UTF-8
  • encodeURIComponent() — Same but for URI components
  • eval() — Evaluates JavaScript code represented as a string
  • isFinite() — Determines whether a passed value is a finite number
  • isNaN() — Determines whether a value is NaN or not
  • Number() —- Returns a number converted from its argument
  • parseFloat() — Parses an argument and returns a floating-point number
  • parseInt() — Parses its argument and returns an integer

JavaScript Loops

Loops are part of most programming languages. They allow you to execute blocks of code desired number of times with different values:

for (before loop; condition for loop; execute after loop) {
    // what to do during the loop

You have several parameters to create loops:

  • for — The most common way to create a loop in JavaScript
  • while — Sets up conditions under which a loop executes
  • do while — Similar to the while loop but it executes at least once and performs a check at the end to see if the condition is met to execute again
  • break —Used to stop and exit the cycle at certain conditions
  • continue — Skip parts of the cycle if certain conditions are met

IfElse Statements

These types of statements are easy to understand. Using them, you can set conditions for when your code is executed. If certain conditions apply, something is done, if not – something else is executed.

if (condition) {
    // what to do if condition is met
} else {
    // what to do if condition is not met

A similar concept to if else is the switch statement. However, using the switch you select one of several code blocks to execute.


Strings are what JavaScript calls to text that does not perform a function but can appear on the screen.

var person = "John Doe";

In this case, John Doe is the string.

Escape Characters

In JavaScript, strings are marked with single or double-quotes. If you want to use quotation marks in a string, you need to use special characters:

  • ' — Single quote
  • " — Double quote

Aside from that you also have additional escape characters:

  • \ — Backslash
  • b — Backspace
  • f — Form feed
  • n — New line
  • r — Carriage return
  • t — Horizontal tabulator
  • v — Vertical tabulator

String Methods

There are many different ways to work with strings:

  • charAt() — Returns a character at a specified position inside a string
  • charCodeAt() — Gives you the Unicode of a character at that position
  • concat() — Concatenates (joins) two or more strings into one
  • fromCharCode() — Returns a string created from the specified sequence of UTF-16 code units
  • indexOf() — Provides the position of the first occurrence of a specified text within a string
  • lastIndexOf() — Same as indexOf() but with the last occurrence, searching backward
  • match() — Retrieves the matches of a string against a search pattern
  • replace() — Find and replace specified text in a string
  • search() — Executes a search for a matching text and returns its position
  • slice() — Extracts a section of a string and returns it as a new string
  • split() — Splits a string object into an array of strings at a specified position
  • substr() —  Similar to slice() but extracts a substring depending on a specified number of characters
  • substring() — Also similar to slice() but can’t accept negative indices
  • toLowerCase() — Convert strings to lower case
  • toUpperCase() — Convert strings to upper case
  • valueOf() — Returns the primitive value (that has no properties or methods) of a string object

Regular Expression Syntax

Regular expressions are search patterns used to match character combinations in strings. The search pattern can be used for text search and text to replace operations.

Pattern Modifiers

  • e — Evaluate replacement
  • i — Perform case-insensitive matching
  • g — Perform global matching
  • m — Perform multiple line matching
  • s — Treat strings as a single line
  • x — Allow comments and whitespace in the pattern
  • U — Ungreedy pattern


  • [abc] — Find any of the characters between the brackets
  • [^abc] — Find any character which is not in the brackets
  • [0-9] — Used to find any digit from 0 to 9
  • [A-z] — Find any character from uppercase A to lowercase z
  • (a|b|c) — Find any of the alternatives separated with |


  • . — Find a single character, except newline or line terminator
  • w — Word character
  • W — Non-word character
  • d — A digit
  • D — A non-digit character
  • s — Whitespace character
  • S — Non-whitespace character
  • b — Find a match at the beginning/end of a word
  • B — A match not at the beginning/end of a word
  • — NUL character
  • n — A new line character
  • f — Form feed character
  • r — Carriage return character
  • t — Tab character
  • v — Vertical tab character
  • xxx — The character specified by an octal number xxx
  • xdd — Character specified by a hexadecimal number dd
  • uxxxx — The Unicode character specified by a hexadecimal number XXXX


  • n+ — Matches any string that contains at least one n
  • n* — Any string that contains zero or more occurrences of n
  • n? — A string that contains zero or one occurrence of n
  • n{X} — String that contains a sequence of X n’s
  • n{X,Y} — Strings that contain a sequence of X to Y n’s
  • n{X,} — Matches any string that contains a sequence of at least X n’s
  • n$ — Any string with n at the end of it
  • ^n — String with n at the beginning of it
  • ?=n — Any string that is followed by a specific string n
  • ?!n — String that is not followed by a specific string ni

Numbers and Math

In JavaScript, you can also work with numbers, constants and perform mathematical functions.

Number Properties

  • MAX_VALUE — The maximum numeric value representable in JavaScript
  • MIN_VALUE — Smallest positive numeric value representable in JavaScript
  • NaN — The “Not-a-Number” value
  • NEGATIVE_INFINITY — The negative Infinity value
  • POSITIVE_INFINITY — Positive Infinity value

Number Methods

  • toExponential() — Returns the string with a rounded number written as exponential notation
  • toFixed() — Returns the string of a number with a specified number of decimals
  • toPrecision() — String of a number written with a specified length
  • toString() — Returns a number as a string
  • valueOf() — Returns a number as a number

Math Properties

  • E — Euler’s number
  • LN2 — The natural logarithm of 2
  • LN10 — Natural logarithm of 10
  • LOG2E — Base 2 logarithm of E
  • LOG10E — Base 10 logarithm of E
  • PI — The number PI
  • SQRT1_2 — Square root of 1/2
  • SQRT2 — The square root of 2

Math Methods

  • abs(x) — Returns the absolute (positive) value of x
  • acos(x) — The arccosine of x, in radians
  • asin(x) — Arcsine of x, in radians
  • atan(x) — The arctangent of x as a numeric value
  • atan2(y,x) — Arctangent of the quotient of its arguments
  • ceil(x) — Value of x rounded up to its nearest integer
  • cos(x) — The cosine of x (x is in radians)
  • exp(x) — Value of Ex
  • floor(x) — The value of x rounded down to its nearest integer
  • log(x) — The natural logarithm (base E) of x
  • max(x,y,z,...,n) — Returns the number with the highest value
  • min(x,y,z,...,n) — Same for the number with the lowest value
  • pow(x,y) — X to the power of y
  • random() — Returns a random number between 0 and 1
  • round(x) — The value of x rounded to its nearest integer
  • sin(x) — The sine of x (x is in radians)
  • sqrt(x) — Square root of x
  • tan(x) — The tangent of an angle

Dealing with Dates in JavaScript

You can also work with and modify dates and time with JavaScript. This is the next chapter in the JavaScript cheat sheet.

Setting Dates

  • Date() — Creates a new date object with the current date and time
  • Date(2017, 5, 21, 3, 23, 10, 0) — Create a custom date object. The numbers represent a year, month, day, hour, minutes, seconds, milliseconds. You can omit anything you want except for a year and month.
  • Date("2017-06-23") — Date declaration as a string

Pulling Date and Time Values

  • getDate() — Get the day of the month as a number (1-31)
  • getDay() —  The weekday as a number (0-6)
  • getFullYear() — Year as a four-digit number (yyyy)
  • getHours() — Get the hour (0-23)
  • getMilliseconds() — The millisecond (0-999)
  • getMinutes() — Get the minute (0-59)
  • getMonth() —  Month as a number (0-11)
  • getSeconds() — Get the second (0-59)
  • getTime() — Get the milliseconds since January 1, 1970
  • getUTCDate() — The day (date) of the month in the specified date according to universal time (also available for day, month, full year, hours, minutes etc.)
  • parse — Parses a string representation of a date and returns the number of milliseconds since January 1, 1970

Set Part of a Date

  • setDate() — Set the day as a number (1-31)
  • setFullYear() — Sets the year (optionally month and day)
  • setHours() — Set the hour (0-23)
  • setMilliseconds() — Set milliseconds (0-999)
  • setMinutes() — Sets the minutes (0-59)
  • setMonth() — Set the month (0-11)
  • setSeconds() — Sets the seconds (0-59)
  • setTime() — Set the time (milliseconds since January 1, 1970)
  • setUTCDate() — Sets the day of the month for a specified date according to universal time (also available for day, month, full year, hours, minutes etc.)

DOM Mode

The DOM is the Document Object Model of a page. It is the code of the structure of a webpage. JavaScript comes with a lot of different ways to create and manipulate HTML elements (called nodes).

Node Properties

  • attributes — Returns a live collection of all attributes registered to an element
  • baseURI — Provides the absolute base URL of an HTML element
  • childNodes — Gives a collection of an element’s child nodes
  • firstChild — Returns the first child node of an element
  • lastChild — The last child node of an element
  • nextSibling — Gives you the next node at the same node tree level
  • nodeName —Returns the name of a node
  • nodeType —  Returns the type of a node
  • nodeValue — Sets or returns the value of a node
  • ownerDocument — The top-level document object for this node
  • parentNode — Returns the parent node of an element
  • previousSibling — Returns the node immediately preceding the current one
  • textContent — Sets or returns the textual content of a node and its descendants

Node Methods

  • appendChild() — Adds a new child node to an element as the last child node
  • cloneNode() — Clones an HTML element
  • compareDocumentPosition() — Compares the document position of two elements
  • getFeature() — Returns an object which implements the APIs of a specified feature
  • hasAttributes() — Returns true if an element has any attributes, otherwise false
  • hasChildNodes() — Returns true if an element has any child nodes, otherwise false
  • insertBefore() — Inserts a new child node before a specified, existing child node
  • isDefaultNamespace() — Returns true if a specified namespaceURI is the default, otherwise false
  • isEqualNode() — Checks if two elements are equal
  • isSameNode() — Checks if two elements are the same node
  • isSupported() — Returns true if a specified feature is supported on the element
  • lookupNamespaceURI() — Returns the namespace URI associated with a given node
  • lookupPrefix() — Returns a DOMString containing the prefix for a given namespace URI if present
  • normalize() — Joins adjacent text nodes and removes empty text nodes in an element
  • removeChild() — Removes a child node from an element
  • replaceChild() — Replaces a child node in an element

Element Methods

  • getAttribute() — Returns the specified attribute value of an element node
  • getAttributeNS() — Returns string value of the attribute with the specified namespace and name
  • getAttributeNode() — Gets the specified attribute node
  • getAttributeNodeNS() — Returns the attribute node for the attribute with the given namespace and name
  • getElementsByTagName() — Provides a collection of all child elements with the specified tag name
  • getElementsByTagNameNS() —  Returns a live HTMLCollection of elements with a certain tag name belonging to the given namespace
  • hasAttribute() — Returns true if an element has any attributes, otherwise false
  • hasAttributeNS() — Provides a true/false value indicating whether the current element in a given namespace has the specified attribute
  • removeAttribute() — Removes a specified attribute from an element
  • removeAttributeNS() — Removes the specified attribute from an element within a certain namespace
  • removeAttributeNode() — Takes away a specified attribute node and returns the removed node
  • setAttribute() — Sets or changes the specified attribute to a specified value
  • setAttributeNS() —  Adds a new attribute or changes the value of an attribute with the given namespace and name
  • setAttributeNode() — Sets or changes the specified attribute node
  • setAttributeNodeNS() — Adds a new namespaced attribute node to an element

Working with the User Browser

Besides HTML elements, JavaScript is also able to take into account the user browser and incorporate its properties into the code.

Window Properties

  • closed — Checks whether a window has been closed or not and returns true or false
  • defaultStatus — Sets or returns the default text in the status bar of a window
  • document — Returns the document object for the window
  • frames — Returns all <iframe> elements in the current window
  • history — Provides the History object for the window
  • innerHeight — The inner height of a window’s content area
  • innerWidth — The inner width of the content area
  • length — Find out the number of  <iframe> elements in the window
  • location — Returns the location object for the window
  • name — Sets or returns the name of a window
  • navigator — Returns the Navigator object for the window
  • opener — Returns a reference to the window that created the window
  • outerHeight — The outer height of a window, including toolbars/scrollbars
  • outerWidth — The outer width of a window, including toolbars/scrollbars
  • pageXOffset — Number of pixels the current document has been scrolled horizontally
  • pageYOffset — Number of pixels the document has been scrolled vertically
  • parent — The parent window of the current window
  • screen — Returns the Screen object for the window
  • screenLeft — The horizontal coordinate of the window (relative to the screen)
  • screenTop — The vertical coordinate of the window
  • screenX — Same as screenLeft but needed for some browsers
  • screenY — Same as screenTop but needed for some browsers
  • self — Returns the current window
  • status — Sets or returns the text in the status bar of a window
  • top — Returns the topmost browser window

Window Methods

  • alert() — Displays an alert box with a message and an OK button
  • blur() — Removes focus from the current window
  • clearInterval() — Clears a timer set with setInterval()
  • clearTimeout() — Clears a timer set with setTimeout()
  • close() — Closes the current window
  • confirm() — Displays a dialogue box with a message and an OK and Cancel button
  • focus() — Sets focus to the current window
  • moveBy() — Moves a window relative to its current position
  • moveTo() — Moves a window to a specified position
  • open() — Opens a new browser window
  • print() — Prints the content of the current window
  • prompt() — Displays a dialogue box that prompts the visitor for input
  • resizeBy() — Resizes the window by the specified number of pixels
  • resizeTo() — Resizes the window to a specified width and height
  • scrollBy() — Scrolls the document by a specified number of pixels
  • scrollTo() — Scrolls the document to specified coordinates
  • setInterval() — Calls a function or evaluates an expression at specified intervals
  • setTimeout() — Calls a function or evaluates an expression after a specified interval
  • stop() — Stops the window from loading

Screen Properties

  • availHeight — Returns the height of the screen (excluding the Windows Taskbar)
  • availWidth — Returns the width of the screen (excluding the Windows Taskbar)
  • colorDepth — Returns the bit depth of the color palette for displaying images
  • height — The total height of the screen
  • pixelDepth — The color resolution of the screen in bits per pixel
  • width — The total width of the screen

JavaScript Events

Events are things that can happen to HTML elements and are performed by the user. The programming language can listen for these events and trigger actions in the code. No JavaScript cheat sheet would be complete without them.


  • onclick — The event occurs when the user clicks on an element
  • oncontextmenu — User right-clicks on an element to open a context menu
  • ondblclick — The user double-clicks on an element
  • onmousedown — User presses a mouse button over an element
  • onmouseenter — The pointer moves onto an element
  • onmouseleave — Pointer moves out of an element
  • onmousemove — The pointer is moving while it is over an element
  • onmouseover — When the pointer is moved onto an element or one of its children
  • onmouseout — User moves the mouse pointer out of an element or one of its children
  • onmouseup — The user releases a mouse button while over an element


  • onkeydown — When the user is pressing a key down
  • onkeypress — The moment the user starts pressing a key
  • onkeyup — The user releases a key


  • onabort — The loading of a media is aborted
  • onbeforeunload — Event occurs before the document is about to be unloaded
  • onerror — An error occurs while loading an external file
  • onhashchange — There have been changes to the anchor part of a URL
  • onload — When an object has loaded
  • onpagehide — The user navigates away from a webpage
  • onpageshow — When the user navigates to a webpage
  • onresize — The document view is resized
  • onscroll — An element’s scrollbar is being scrolled
  • onunload — Event occurs when a page has unloaded


  • onblur — When an element loses focus
  • onchange — The content of a form element changes (for <input>, <select> and <textarea>)
  • onfocus — An element gets focus
  • onfocusin — When an element is about to get focus
  • onfocusout — The element is about to lose focus
  • oninput — User input on an element
  • oninvalid — An element is invalid
  • onreset — A form is reset
  • onsearch — The user writes something in a search field (for <input="search">)
  • onselect — The user selects some text (for <input> and <textarea>)
  • onsubmit — A form is submitted


  • ondrag — An element is dragged
  • ondragend — The user has finished dragging the element
  • ondragenter — The dragged element enters a drop target
  • ondragleave — A dragged element leaves the drop target
  • ondragover — The dragged element is on top of the drop target
  • ondragstart — User starts to drag an element
  • ondrop — Dragged element is dropped on the drop target


  • oncopy — User copies the content of an element
  • oncut — The user cuts an element’s content
  • onpaste — A user pastes the content in an element


  • onabort — Media loading is aborted
  • oncanplay — The browser can start playing media (e.g. a file has buffered enough)
  • oncanplaythrough — The browser can play through media without stopping
  • ondurationchange — The duration of the media changes
  • onended — The media has reached its end
  • onerror — Happens when an error occurs while loading an external file
  • onloadeddata — Media data is loaded
  • onloadedmetadata — Metadata (like dimensions and duration) are loaded
  • onloadstart —  The browser starts looking for specified media
  • onpause — Media is paused either by the user or automatically
  • onplay — The media has been started or is no longer paused
  • onplaying — Media is playing after having been paused or stopped for buffering
  • onprogress — The browser is in the process of downloading the media
  • onratechange — The playing speed of the media changes
  • onseeked — User is finished moving/skipping to a new position in the media
  • onseeking — The user starts moving/skipping
  • onstalled — The browser is trying to load the media but it is not available
  • onsuspend — The browser is intentionally not loading media
  • ontimeupdate — The playing position has changed (e.g. because of fast forward)
  • onvolumechange — Media volume has changed (including mute)
  • onwaiting — Media paused but expected to resume (for example, buffering)


  • animationend — A CSS animation is complete
  • animationiteration — CSS animation is repeated
  • animationstart — CSS animation has started


  • transitionend — Fired when a CSS transition has completed
  • onmessage — A message is received through the event source
  • onoffline — The browser starts to work offline
  • ononline — The browser starts to work online
  • onpopstate — When the window’s history changes
  • onshow — A <menu> element is shown as a context menu
  • onstorage — A Web Storage area is updated
  • ontoggle — The user opens or closes the <details> element
  • onwheel — Mouse wheel rolls up or down over an element
  • ontouchcancel — Screen-touch is interrupted
  • ontouchend — User’s finger is removed from a touch-screen
  • ontouchmove — A finger is dragged across the screen
  • ontouchstart — A finger is placed on the touch-screen


When working with JavaScript, different errors can occur. There are several ways of handling them:

  • try — Lets you define a block of code to test for errors
  • catch — Set up a block of code to execute in case of an error
  • throw — Create custom error messages instead of the standard JavaScript errors
  • finally — Lets you execute code, after try and catch, regardless of the result

Error Name Values

JavaScript also has a built-in error object. It has two properties:

  • name — Sets or returns the error name
  • message — Sets or returns an error message in a string from

The error property can return six different values as its name:

  • EvalError — An error has occurred in the eval() function
  • RangeError — A number is “out of range”
  • ReferenceError — An illegal reference has occurred
  • SyntaxError — A syntax error has occurred
  • TypeError — A type error has occurred
  • URIError — An encodeURI() error has occurred

The JavaScript Cheat Sheet in a Nutshell

JavaScript is gaining much importance as a programming language. It is increasingly the go-to language for building web properties thanks to its proven track record and benefits.

In the JavaScript cheat sheet above, we have compiled many of the most basic and important operators, functions, principles, and methods. It provides a good overview of the language and a reference for both developers and learners. We hope you have found it useful.

Do you have additions to the JavaScript cheat sheet? Please let us know in the comments section below!

Inside the ‘black economy’ where Australians’ stolen data is selling for $1

The highly sensitive information of millions of Australians — including logins for personal Australian Tax Office accounts, medical and personal data of thousands of NDIS recipients, and confidential details of an alleged assault of a Victorian school student by their teacher — is among terabytes of hacked data being openly traded online.

An ABC investigation has identified large swathes of previously unreported confidential material that is widely available on the internet, ranging from sensitive legal contracts to the login details of individual MyGov accounts, which are being sold for as little as $1 USD.

The huge volume of newly identified information confirms the high-profile hacks of Medibank and Optus represent just a fraction of the confidential Australian records recently stolen by cyber criminals.

At least 12 million Australians have had their data exposed by hackers in recent months.

It can also be revealed many of those impacted learnt they were victims of data theft only after being contacted by the ABC.

They said they were either not adequately notified by the organisations responsible for securing their data, or were misled as to the gravity of the breach.

Russian cyber criminals targeted Medibank earlier this year and have drip-fed customer information in a bid to secure a ransom payment.(AAP: Lukas Coch)

One of the main hubs where stolen data is published is a forum easily discoverable through Google, which only appeared eight months ago and has soared in popularity — much to the alarm of global cyber intelligence experts.

Anonymous users on the forum and similar websites regularly hawk stolen databases collectively containing millions of Australians’ personal information.

Others were seen offering generous incentives to those daring enough to go after specific targets, such as one post seeking classified intelligence on the development of Australian submarines.

A user offering incentives for classified materials. The ABC could not find evidence of a transaction being made for this request.(Supplied)

“There’s a criminal’s cornucopia of information available on the clear web, which is the web that’s indexed by Google, as well as in the dark web,” said CyberCX director of cyber intelligence Katherine Mansted.

“There’s a very low barrier of entry for criminals … and often what we see with foreign government espionage or cyber programs — they’re not above buying tools or buying information from criminals either.”

In one case, law student Zac’s medical information, pilfered in one of Australia’s most troubling cyber breaches, was freely published by someone without a clear motive.

Zac has a rare neuromuscular disorder which has left him unable to walk and prone to severe weakness and fatigue. The ABC has agreed not to use his full name because he fears the stolen information could be used to locate him.

His sensitive personal data was stolen in May in a cyber attack on CTARS, a company that provides a cloud-based client management system to National Disability Insurance Scheme (NDIS) and NSW out-of-home-care service providers.

Optus customers’ private information was compromised after a cyber attack hit the phone and internet provider.(AAP: Bianca De Marchi)

The National Disability Insurance Agency (NDIA), which is responsible for the NDIS, told a Senate committee it had confirmed with CTARS that all 9,800 affected participants had been notified. 

But ABC Investigations has established this is not the case. The ABC spoke with 20 victims of the breach, all but one — who later found a notice in her junk mail — said they had not received a notification or even heard of the hack.

Apple Tracks You More Than You Think

Cybersecurity startup Corellium offered or sold its software to spyware and hacking-tool creators in multiple repressive countries, a WIRED investigation revealed this week. A previously unreported 507-page document, believed to have been prepared by Apple, details how Corellium offered a trial of its products to controversial spyware firm NSO Group, a cybersecurity company with ties with the UAE government, and a firm in China that also has government links. In response, Corellium, which makes phone-virtualization software that can help find security bugs in iOS and Android, published a blog post detailing how it now vets potential customers.

As millions of people across the US celebrated Thanksgiving and attended parades, we looked at the US shortage of bomb-sniffing dogs. Experts say the pandemic has led to a drop in the supply of dogs in the country—85 to 90 percent of them come from overseas—and that the lack of trainer animals is fuelling national security concerns.

In other national security threats, US lawmakers are calling for stricter rules around autonomous vehicles (AVs) that are able to gather reams of real-time data about their environment. China is a chief concern. In a letter shared exclusively with WIRED, congressman August Pfluger said “AV technology has opened the door for a foreign nation to spy on American soil, as Chinese companies potentially transfer critical data to the People’s Republic of China.”

We also looked at how hidden data stored in PDF files helped researchers reveal names that had been redacted. Court filings, national security files, and responses to Freedom of Information Act requests have all exposed such information in this way. And we heard the cautionary tale of how one person lost $17,000 in crypto and how you can avoid the same fate

Finally, we published part five of the series ‘The Hunt for the Dark Web’s Biggest Kingpin,’ which chronicles the downfall of AlphaBay, the world’s largest dark web marketplace. In this instalment, investigators swoop on AlphaBay’s mastermind Alexandre Cazes and discover he had a fortune topping $20 million. 

But wait, there’s more! Each week, we highlight the news we didn’t cover in-depth ourselves. Click on the headlines below to read the full stories. And stay safe out there.

Apple’s privacy policy for analytics services on its devices, which gather data about how you use its products, claims the information collected isn’t used to identify you. However, a new analysis of the tools, reported by Gizmodo, claims a permanent ID number within the service is “tied to your full name, phone number, birth date, email address and more.” This ID number is sent to Apple alongside the analytics data about how you use your device, researchers from software company Mysk told the publication. 

The findings, which Apple did not answer Gizmodo’s questions about, appear to contradict the company’s privacy promises. In recent years, Apple has pushed a pro-privacy stance, using it as an advantage over competitors, and has run adverts saying the data on people’s iPhones stays on their devices. However, experts have increasingly questioned some of Apple’s practices. (At the same time, Apple has been growing its advertising business.) In separate research published earlier in November, Mysk researchers claimed that Apple collects detailed information on people using its products through its own apps, even when they turn tracking off.

In June, the UK government approved the extradition of WikiLeaks founder Julian Assange to the United States. While Assange waits on an appeal in the case, the website he created is falling apart. At one point, WikiLeaks hosted more than 10 million leaked documents, however, according to an analysis by the Daily Dot, fewer than 3,000 of the files are now available. Aside from the drop-in documents, the website also has technical issues: it is frequently inaccessible, people have problems searching its content, and parts of its navigation have vanished. 

Meta’s Pixel, formerly known as the Facebook Pixel, is a snippet of code that websites can install to track their visitors. The tool is useful for advertisers. Millions of websites use the tracking tool and the data is sent back to Meta. This week, The Markup revealed major US tax websites are using the pPxel and sending financial information to Meta. Some of the data transferred includes names, email addresses, income information, and tax filing status. Some tax websites stopped using Meta’s Pixel following the report. A spokesperson for Meta, Dale Hogan, said that advertisers “should not send sensitive information” about people through its tools. 

And finally, in a major blow to scammers, an international police operation took down the iSpoof website, which let people disguise their phone numbers and show fake caller IDs when making phone calls. It’s estimated that people using iSpoof were contacting up to 20 people every minute of the day as they used false identities to try and trick people into handing over their money. One person was tricked out of £3 million ($3.6m), reports say. The website now shows a notice saying it has been seized by the FBI and United States Secret Service. In total 142 people were arrested in the operation, including the alleged administrator of the website who was arrested in the UK. Police from the UK, US, Ukraine, France, Germany, and five other countries were involved. 

Buy Instagram Likes

If you’re looking to give your Instagram account a boost, one of the easiest ways is to Buy Instagram Likes. When you have more likes, you’ll appear higher in search results and in the Explore tab, making it more likely that new users will find and follow your account. And as we all know, more followers means more potential customers.

There are a lot of different companies out there that sell likes, but it’s important to do your research before buying. Some companies use fake accounts to like your photos, which can get you banned from Instagram. Others will only like a few of your photos, which can look suspicious to other users.

And some companies are just plain scams. That’s why we’ve done the legwork for you and compiled a list of the best places to buy Instagram likes.

The popularity of Instagram has led many companies to offer services that allow users to buy Instagram likes. This can be a great way to get your photos and videos seen by more people, but it’s important to be aware of the potential risks involved. There are two main types of services that offer to sell you likes: those that use real accounts, and those that use fake accounts.

It’s generally considered safer to use a service that uses real accounts, as there’s less chance of your account being suspended or banned for using fraudulent activity. However, these services can be more expensive. Fake account services are much cheaper, but there’s a much higher risk that your account could be suspended or banned if Instagram detects the fraud.

These services typically create hundreds or even thousands of fake accounts that like your content. While this can help increase your visibility in the short-term, it’s not worth the risk if you’re serious about building a long-term presence on Instagram. If you do decide to buy likes, make sure you’re only doing so from a reputable source.

There are many scammers out there who will take your money and give you nothing in return. Do some research before handing over any cash, and only work with companies that have positive reviews from other users?

Buy Instagram Likes PayPal

Looking to buy Instagram likes with PayPal? You’re in luck! There are a few different ways to do this, and we’ll walk you through the process step by step. Buy Instagram Likes

First things first, you’ll need to find a reputable seller. We recommend searching for sellers on sites like Fiverr or SEOClerks. Once you’ve found a few potential sellers, take a look at their reviews and ratings to get an idea of what other buyers have thought about their services.

Once you’ve found a seller you’re happy with, it’s time to make your purchase! Most sellers will have instructions on their page on how to pay via PayPal. Once your payment is processed, the seller will start working on your order and deliver the likes to your Instagram account within the timeframe specified in their gig description.

And that’s it! Buying Instagram likes with PayPal is quick and easy, and it’s a great way to jumpstart your account’s growth. Just be sure to do your research before making any purchases, and only work with sellers that have good reviews from past buyers. Buy Instagram Likes

Best Site to Buy Instagram Likes

When you’re looking to buy Instagram likes, it’s important to find a site that offers high-quality likes from real, active users. With so many sites out there offering this service, it can be hard to know which one to choose. That’s why we’ve put together a list of the best sites to buy Instagram likes.

These sites offer a variety of packages at different price points, so you can find one that fits your budget. And most importantly, they all deliver high-quality likes from real, active users. So if you’re ready to take your Instagram account to the next level, check out our list of the best sites to buy Instagram likes!

Buy Likes Instagram 2022

As we all know, Instagram is one of the most popular social networking platforms with over a billion active users. And, according to recent studies, it is predicted that by 2022 Instagram will have 2.8 billion active users! So, if you’re looking to get ahead of the competition, now is the time to start thinking about how you can increase your presence on this platform. Buy Instagram Likes

One way to do this is by increasing the number of likes on your posts. When someone likes your post, it not only looks good to other potential followers but also helps to improve your ranking on Instagram’s algorithm. But how can you go about increasing your likes?

Here are a few ideas:

1) Use hashtags wisely: Hashtags are a great way to get your content seen by more people. Do some research and find out which hashtags are most popular in your niche or industry and use them accordingly. However, don’t go overboard with them as using too many hashtags can actually have the opposite effect and make you look spammy.

2) Engage with other users: Another great way to increase your likability is by engaging with other users on Instagram. Like and comment on their posts, follow them back if they follow you, and overall just be active on the platform. The more visible you are, the more likely people will be to like your own content.

3) Run a contest or giveaway: People love free stuff! Running a contest or giveaway is an excellent way to get more people interested in following you and liking your content. Just make sure that the prize is something that would appeal to your target audience. Buy Instagram Likes

4) Use quality images: This should go without saying but using high-quality images will make people want to like your photos even more! No one wants to look at blurry or dark photos so try to avoid those as much as possible.

Buy Instagram Likes App

As you probably know, Instagram is one of the most popular social media platforms out there. And, as with any other social media platform, one of the main ways to gain popularity on Instagram is by having a lot of likes on your posts. Unfortunately, getting a lot of likes can be difficult and time-consuming.

That’s why there are now a number of apps that allow you to buy Instagram likes. These apps work by providing you with a certain number of likes for each of your posts. They usually have different packages that you can choose from, depending on how many likes you want to buy.

Of course, there are some risks involved in buying likes. For one thing, it’s possible that people will figure out that you’ve bought them and they may not like your content as much as they otherwise would. Additionally, if you’re not careful about which app you use, you could end up spending a lot of money without getting very many likes in return. Buy Instagram Likes

That being said, if used carefully, an app that allows you to buy Instagram likes can be a great way to quickly increase your popularity on the platform. Just be sure to do your research before choosing an app and only purchase from reputable sources.

Get Instagram Likes

Instagram is one of the most popular social media platforms with over a billion monthly active users. And while some people use Instagram just for fun, others are using it to build their brand or business. If you’re serious about using Instagram to grow your business or personal brand, then you need to make sure you’re getting likes on your posts.

The more likes you have, the more visible your account will be to potential new followers. There are a few ways to get more likes on Instagram:

1. Use relevant hashtags, Hashtags are a great way to get your content seen by more people. When you use relevant hashtags, your content is more likely to show up in searches and be seen by people who are interested in that topic. For example, if you’re a fashion blogger, using hashtags like #ootd (outfit of the day), #fashionblogger, or #style could help get your content in front of more eyes.

2. Post high-quality photos and videos this should go without saying, but it’s worth repeating: posting high-quality photos and videos will help you get more likes on Instagram. Not only do well-crafted visuals look professional and attract attention, but they also show that you’re serious about what you’re doing and that you know how to use the platform effectively.

So take the time to create beautiful images and engaging videos – it’ll be worth it in the long run!

Buy Instagram Likes USASMMIT

Instagram is one of the most popular social networking platforms today. It has over 800 million active users and continues to grow. If you’re not already on Instagram, you’re missing out!

One of the best ways to get more followers and engagement on Instagram is to buy likes. When you buy likes, your photos and videos are more likely to be seen by other users and will get more engagement. USASMMIT is one of the best places to buy Instagram likes.

They offer high-quality, real likes at an affordable price. Plus, they offer a money-back guarantee if you’re not satisfied. If you’re ready to take your Instagram game up a notch, buying some likes is a great way to do it!

Cheap Instagram Likes

There are a lot of people out there who are looking for ways to get more Instagram likes. And one of the most common questions I get is whether it’s worth it to buy cheap Instagram likes. The short answer is: no, it’s not worth it.

The long answer is a little more complicated. Here’s what you need to know about buying cheap Instagram likes… What Are Cheap Instagram Likes?

Cheap Instagram likes are exactly what they sound like – they’re fake likes that you can buy from websites or services that will add them to your account for a fee. These likes usually come from inactive or bot accounts, and they don’t do anything to help your account except inflate your like count. Why Would You Want Them?

There are two main reasons why people buy cheap Instagram likes: 1) They want their photos to look popular, so they think that having a high like count will make people think their photos are good (even if they aren’t). 2) They want to save time. Buy Instagram Likes

It takes effort and time to organically grow your like count, but you can just buy them instead. All you have to do is hand over your money and voila – instant popularity! Or so they think…

Are Cheap Instagram Likes Worth It? In short, no. Here’s why:

  • People can tell when you have fake likes. If all of sudden you have 500 likes on every photo but only 50 followers, people are going to know that something isn’t right. Not only does this make you look bad, but it also makes people less likely to actually follow you or like your content because they know that most of your engagement is fake.
  • Fake likes won’t help you get real ones. The whole point of social media is building relationships and connecting with real people who are interested in what you do/sell/create/etc.

Buy 25 Instagram Likes

If you’re looking to give your Instagram account a boost, one of the easiest ways is to buy 25 Instagram likes. This will instantly add some social proof and make your account look more popular. There are a few things to keep in mind when buying likes.

First, only buy from a reputable source. There are many scams out there, so do your research before handing over any money. Second, don’t go overboard.

A few dozen likes will suffice – any more than that and it will start to look unnatural. And finally, be patient. The results won’t happen overnight – it can take a few days for the likes to show up on your account.

But once they do, you’ll see an immediate difference in the number of people following you and engaging with your content.

Can You Buy Real Instagram Likes?

There are a lot of people out there who are looking for ways to get more likes on their Instagram posts. And one of the things that they may be considering is buying real Instagram likes. But is this something that you can actually do?

Can you buy real Instagram likes? The answer is yes, you can buy real Instagram likes. There are a number of companies out there that will sell you real Instagram likes.

However, there are also a number of things to consider before you go ahead and purchase any likes. Here are just a few things to keep in mind:

1) Make sure the company you’re buying from is reputable. There are some companies out there that sell fake or bot-generated likes. These likes will not only be ineffective, but they could also get your account banned by Instagram. So make sure you’re dealing with a reputable company before handing over any money.

2) Don’t go overboard. It’s important to remember that quality trumps quantity when it comes to social media engagement. So don’t go and purchase tens of thousands of likes in one go – it will look unnatural and could again lead to your account being banned by Instagram. Instead, focus on quality over quantity and build up your liking gradually over time. Buy Instagram Likes

3) Be strategic about when you use your purchased Likes. One effective way to use Likes is to space them out over time, rather than using them all at once on one post. This will help create the illusion of organic growth and prevent your account from looking like it’s been ‘boosted’ artificially with fake engagement.

4) Use Likes in conjunction with other forms of engagement. Purchasing Likes should only be one part of your wider social media strategy; don’t rely on them solely to increase your engagement levels as this won’t work effectively in the long-term. Try to use them alongside other activities such as commenting, sharing relevant content, running giveaways etc. .

5) Keep an eye on your budget. Buying Likes can quickly become expensive if you’re not careful, so make sure you set yourself a budget and stick to it. Also, try to avoid purchasing from companies that charge per like as this can become very costly; instead, opt for those who offer discounts for bulk purchases.

Can You Buy Fake Instagram Likes?

Are you looking to boost your Instagram engagement with fake likes? There are a lot of services out there that offer to sell you fake Instagram likes, but is this really a good idea? On the surface, it may seem like a great way to get more likes and comments on your posts.

However, there are some serious risks involved in buying fake Instagram likes. Here’s what you need to know before you decide to go down this route. The Risks of Buying Fake Instagram Likes

when you buy fake Instagram likes, you’re essentially paying for engagement from bots or inactive accounts. This means that the people who are liking and commenting on your posts are not real, active users. This can have a number of negative consequences for your account:

1. It looks spammy. When all of your likes and comments come from fake accounts, it looks very spammy and disingenuous. This can turn off potential new followers who see your account as being inauthentic.

2. it’s against the rules. Buying fake engagement is against the Terms of Service of both Instagram and Facebook (which owns Instagram). This means that if you’re caught doing it, your account could be suspended or even permanently banned from the platform.

3 .It’s a waste of money. In addition to being against the rules, buying fake engagement is also a waste of money since it doesn’t result in any real value for your business or brand.

Instead, focus on organic ways to grow your engagement, such as by creating great content, using relevant hashtags, and interacting with other users.

Does Buying Instagram Likes Hurt Your Account?

No, buying Instagram likes does not hurt your account. In fact, it can actually be beneficial to your account and help you grow your following organically. When you buy Instagram likes, you are essentially paying for someone to like your content.

This is a great way to get more exposure for your content and get your photos and videos in front of more people. The more people that see your content, the more likely it is that they will like and follow you. Buying Instagram likes can also help to build social proof around your account.

When other users see that you have a lot of likes on your photos and videos, they are more likely to check out your profile and consider following you. This can lead to organic growth of your followers over time. Overall, buying Instagram likes is a great way to give yourself a boost when first starting out on the platform.

It can help you get exposure and build social proof, which can ultimately lead to organic growth of your account.


If you’re looking to increase your Instagram following, one of the quickest ways to do so is to buy likes. When you buy likes, your photos and videos are more likely to be seen by others, which can help attract new followers organically. Additionally, buying likes can also help give your posts a boost in the algorithm, making them more likely to be seen by those who don’t already follow you.

While there are some risks associated with buying likes – namely, that Instagram could shadow ban your account for violating their terms of service – overall, it’s a relatively low-risk way to quickly grow your audience on the platform.