Skip to content

Instantly share code, notes, and snippets.

View etdsoft's full-sized avatar

Daniel Martin etdsoft

View GitHub Profile
<h1>Duo Web 2FA</h1>
<iframe id="duo_iframe" width="800" height="600" frameborder="0"></iframe>
<script type="text/javascript">
$(function(){
console.log('Duo.init');
Duo.init({
'host': '<%= DUOWEB[:host] %>',
'sig_request': '<%= @sig_request %>',

Keybase proof

I hereby claim:

  • I am etdsoft on github.
  • I am etd (https://keybase.io/etd) on keybase.
  • I have a public key whose fingerprint is CFB8 956C 1BAA BF8D 4239 6927 F3B6 AE59 3355 22C0

To claim this, I am signing this object:

@etdsoft
etdsoft / gist:899404
Created April 2, 2011 11:08
Dradis Console
#!/usr/bin/env ruby
require 'rubygems'
require 'optparse'
require 'irb'
require 'irb/completion'
require 'rails'
module Dradis
class Console
def self.start(app)
@etdsoft
etdsoft / gist:967058
Created May 11, 2011 18:49
Tidy up your Dradis notes list
// ./server/public/javascripts/dx/dradis.notes.NotesBrowserPanel.js
// [...]
columns: [
{
id:'text',
header: 'Text',
width: 180,
sortable: true,
dataIndex: 'text',
//renderer: Ext.util.Format.htmlEncode
@etdsoft
etdsoft / users_controller.rb
Created September 1, 2011 17:20
Restrict Dradis Pro signups with HTTP Basic authentication
require 'digest/sha2'
class UsersController < ApplicationController
before_filter :login_required, :except => [:new, :create]
before_filter :basicauth, :only => [:new, :create]
protected
def basicauth
if authenticate_with_http_basic { |user, password| !( user.nil? || password.nil? || ::Digest::SHA512.hexdigest(password) != Configuration.password ) }
Rails.logger.debug 'foo'
else
@etdsoft
etdsoft / dradis.notes.NoteEditorWindow.js
Created September 27, 2011 13:53
Create new notes in Dradis and Vuln::DB with default content
// <dradispro>/public/javascripts/dx/dradis.notes.NoteEditorWindow.js
// [...]
// replace the clear() function in line #72
clear: function(){
this.fields.editor.setValue('#[Title]#\nNew Page Title\n\n#[Description]#\n \n\n#[Recommendation]#\n \n\n');
this.fields.editor.selectText();
this.fields.preview.clear();
}
@etdsoft
etdsoft / vulndb_bridge.rb
Created March 13, 2012 21:11
Move your entries across from VulnDB to VulDB HQ (http://vulndbhq.com)
#!/bin/env ruby
=begin
Copyright (c) 2012 Daniel Martin - Security Roots Ltd
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
@etdsoft
etdsoft / projects_controller.rb
Created April 18, 2013 14:02
Workaround to add per-project authorisation to Dradis Pro (danger! ugly hack ahead) This will restrict access to project 84 to the 81, 85 and 86 users.
class ProjectsController < AuthenticatedController
before_filter :deny_access, :only => [:show, :destroy, :use]
// ...
protected
def deny_access
if (params[:id].to_i == 84) && ![81,85,86].include?(current_user.id)
redirect_to projects_path, :alert => 'Sorry, but the Force is not sufficiently strong within you to work on that project. Choose another one (and continue your training).'
end
$:<< 'lib/'
require 'raffle'
participants = File.read('participants.txt').split
raffle = Raffle.new(participants)
puts "We've got #{raffle.participants.count} participants in the raffle."
puts raffle.pick_a_winner
@etdsoft
etdsoft / interface.js
Created August 20, 2013 15:01
Prompt for a file name when an image is pasted into the browser window (Chrome only)
// ... line 368
$('#fileupload').fileupload({
dropZone: $('#dropzone'),
headers: {
'X-CSRF-Token': csrf_token
},
destroy: function (e, data) {
data.headers = $(this).data('fileupload').options.headers;
$.blueimpUI.fileupload.prototype.options.destroy.call(this, e, data);