1st launch
docker pull trailofbits/eth-security-toolbox
docker run --name trailofbits -it -v {path_to_repos}:/share trailofbits/eth-security-toolbox
Next launches:
docker start -i trailofbits
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity 0.8.17; | |
interface ICallback { | |
function beforeExecution() external; | |
} | |
/** Exploit Desc: **/ | |
// The GasGriefer is used as a `callbackContract` on a swapOrder |
/// <reference types="Cypress" /> | |
it('Signup X2', () => { | |
const url = "http://barker-social.com:xxxxx/register"; | |
const users = [{mail:"testuser1@barker.com", name:"testuser1"},{mail:"testuser2@barker.com", name:"testuser2"}] | |
users.forEach(e => { | |
cy.visit(url); | |
cy.get('#email').type(e.mail); | |
cy.get('#username').type(e.name); | |
cy.get('#password').type("12345678"); | |
cy.get('#password_confirmation').type("12345678"); |
var menuItem = { | |
"id":"speak", | |
"title": "Speak", | |
"contexts": ["selection"] | |
}; | |
chrome.contextMenus.create(menuItem); | |
chrome.contextMenus.onClicked.addListener(function(e){ | |
if(e.menuItemId == "speak" && e.selectionText){ | |
chrome.tts.speak(e.selectionText, {'rate':1.5}); |
{ | |
"manifest_version": 2, | |
"name": "Lecture Vocale Extension", | |
"version": "1.0", | |
"description": "Lecture vocale du texte sélectionné", | |
"icons":{ | |
"128": "icon128.png", | |
"48": "icon48.png", | |
"16": "icon16.png" | |
}, |
$(function () { | |
// Récupération de la couleur sélectionnée | |
var color = $('#fontColor').val(); | |
$('#fontColor').on("change paste keyup", function () { | |
color = $(this).val(); | |
}); | |
// En cas de click sur #btnChange : envoyer le Message "changeColor" avec l'information de la couleur sélectionnée | |
$('#btnChange').click(function () { | |
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) { |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Medium ReStyle</title> | |
<script src="lib/jquery/jquery-3.2.1.min.js"></script> | |
<script src="lib/jscolor/jscolor.min.js"></script> | |
<script src="popup.js"></script> | |
<!-- Ce style est nécessaire afin de pouvoir afficher le color picker --> | |
<style> |
// Déclaration de l'objet du ContextMenu | |
const contextMenuItem = { | |
"id": "saveText", | |
"title": "Copier dans TextSaver", | |
"contexts": ["selection"] // Il y en a d'autres comme video etc. | |
}; | |
// Ajout de l'objet précédent au ContextMenu | |
chrome.contextMenus.create(contextMenuItem); |
$(function () { | |
$('#tri-alpha').click(function () { | |
chrome.storage.sync.get(['textList'], function (data) { | |
data.textList.sort(); | |
chrome.storage.sync.set({ 'textList': data.textList }, function () { | |
var notifOptions = { | |
type: 'basic', | |
iconUrl: 'icon48.png', | |
title: 'Tri alphabétique croissant', | |
message: "La liste a été triée alphabétiquement" |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>TextSaver Options</title> | |
<script src="lib/jquery/jquery-3.2.1.min.js"></script> | |
<script src="lib/bootstrap/bootstrap.min.js"></script> | |
<script src="options.js"></script> | |
<link rel="stylesheet" type="text/css" href="css/bootstrap/bootstrap.min.css"> | |
<link rel="stylesheet" type="text/css" href="css/style.css"> |