Skip to content

Commit c6feda3

Browse files
author
Marshall Lee Whittaker
committed
Fixed some bugs and added random user agent selection.
1 parent f4c7bc4 commit c6feda3

File tree

3 files changed

+14
-10
lines changed

3 files changed

+14
-10
lines changed

background.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212

1313
var quotesOption = false;
14-
var programOption = 'curl';
15-
var fileOption = 'auto';
14+
var programOption = 'sqlmap';
1615
var verboseOption = false;
16+
var ruaOption = true;
1717
var headers = '';
1818
var sqlmapheaders = '';
1919
var snackbarOption = false;
@@ -55,7 +55,10 @@ let getHeaders = (e) => {
5555
headers = '';
5656
sqlmapheaders = '';
5757
for (let header of e.requestHeaders) {
58-
sqlmapheaders += " --header '" + header.name + ": " + header.value + "'";
58+
if(header.name.match(/Cookie/)) {
59+
// grabs the cookie value
60+
sqlmapheaders += " --cookie '" + header.value + "'";
61+
}
5962
}
6063
//console.log('headers: ' + headers.toString());
6164

@@ -71,6 +74,7 @@ let getHeaders = (e) => {
7174
function assembleCmd(url, referUrl) {
7275
let sqlmapText = "sqlmap.py"; // sqlmap command holder
7376
if (verboseOption) {sqlmapText += " -v 4"; }
77+
if (ruaOption) {sqlmapText += " --random-agent"; }
7478
// ######################################################################
7579
// use remote suggested filename, how safe is this? also only available in moderately up to date
7680
// ## replacement for -O -J, same security issues though, make optional
@@ -155,13 +159,12 @@ browser.contextMenus.onClicked.addListener((info, tab) => {
155159

156160
// check the saved options each click in case they changed
157161
let gettingOptions = browser.storage.sync.get(
158-
['quotes','prog','file','filename','ratelimit','verbose','resume','wgetUser','curlUser', 'sqlmapUser', 'snackbar'])
162+
['quotes','prog','verbose','rua','sqlmapUser', 'snackbar'])
159163
.then((res) => {
160164
quotesOption = res.quotes;
161165
programOption = res.prog;
162-
fileOption = res.file;
163-
filenameOption = res.filename;
164166
verboseOption = res.verbose;
167+
ruaOption = res.rua;
165168
sqlmapUserOption = res.sqlmapUser;
166169
snackbarOption = res.snackbar;
167170
});

options.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
<input visibility="hidden" type="radio" name="prog" id="prog" value="sqlmap"> SQLMap <br>
1313
Show Message on Copy: <input type="checkbox" name="snackbar" id="snackbar" checked="checked"><br>
1414
Verbose output: <input type="checkbox" name="verbose" id="verbose"><br><br><br>
15+
Use Random User-Agent: <input type="checkbox" name="rua" id="rua"><br><br><br>
1516
Any input in the boxes below will be inserted as options for the respective commands<br>
16-
SQLMap Options: <input type="text" name="sqlmapUser" id="sqlmapUser" ><br><br><br>
17+
SQLMap Options: <input type="text" name="sqlmapUser" id="sqlmapUser" ><br><br><br>
1718

1819
<button type="submit">Save</button>
1920
</form>

options.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ function saveOptions(e) {
22
browser.storage.sync.set({
33
quotes: document.querySelector('input[name=quotes]').checked,
44
prog: document.querySelector('input[name=prog]:checked').value,
5-
file: document.querySelector('input[name=file]:checked').value,
6-
filename: document.querySelector('input[name=filename]').value,
75
verbose: document.querySelector('input[name=verbose]').checked,
6+
rua: document.querySelector('input[name=rua]').checked,
87
sqlmapUser: document.querySelector('input[name=sqlmapUser]').value,
98
snackbar: document.querySelector('input[name=snackbar]').checked,
109

@@ -17,13 +16,14 @@ function saveOptions(e) {
1716

1817
function restoreOptions() {
1918
var gettingItem = browser.storage.sync.get(
20-
['quotes', 'prog','verbose','resume','sqlmapUser','snackbar']);
19+
['quotes', 'prog','verbose','rua','resume','sqlmapUser','snackbar']);
2120
gettingItem.then((res) => {
2221

2322
if (Object.keys(res).length > 0 && res.constructor === Object) {
2423
document.querySelector('input[name=quotes]').checked = res.quotes ? res.quotes : false;
2524
document.querySelector('input[name=prog][value=' + res.prog + ']').checked = true;
2625
document.querySelector('input[name=verbose]').checked = res.verbose ? res.verbose : false;
26+
document.querySelector('input[name=rua]').checked = res.rua ? res.rua : false;
2727
document.querySelector('input[name=sqlmapUser]').value = res.sqlmapUser ? res.sqlmapUser : '';
2828
document.querySelector('input[name=snackbar]').checked = res.snackbar ? res.snackbar : false;
2929
}

0 commit comments

Comments
 (0)