mirror of
https://github.com/SpacehuhnTech/esp8266_deauther.git
synced 2025-12-21 14:09:59 +01:00
Updated JS to prevent XSS using SSIDs
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -50,7 +50,7 @@ function getResults() {
|
|||||||
if (res.aps[i].se == 1) tr += '<tr class="selected">';
|
if (res.aps[i].se == 1) tr += '<tr class="selected">';
|
||||||
else tr += '<tr>';
|
else tr += '<tr>';
|
||||||
tr += '<td>' + res.aps[i].c + '</td>';
|
tr += '<td>' + res.aps[i].c + '</td>';
|
||||||
tr += '<td>' + res.aps[i].ss + '</td>';
|
tr += '<td>' + escapeHTML(res.aps[i].ss) + '</td>';
|
||||||
tr += '<td>' + getEncryption(res.aps[i].e) + '</td>';
|
tr += '<td>' + getEncryption(res.aps[i].e) + '</td>';
|
||||||
//tr += '<td>' + res.aps[i].r + ' <meter value="' + res.aps[i].r + '" max="-30" min="-100" low="-80" high="-60" optimum="-50"></meter></td>';
|
//tr += '<td>' + res.aps[i].r + ' <meter value="' + res.aps[i].r + '" max="-30" min="-100" low="-80" high="-60" optimum="-50"></meter></td>';
|
||||||
var _width = res.aps[i].r + 130;
|
var _width = res.aps[i].r + 130;
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ function getResults() {
|
|||||||
var aps = "";
|
var aps = "";
|
||||||
var clients = "";
|
var clients = "";
|
||||||
var tr = "<tr><th>Attack</th><th>Status</th><th>Start/Stop</th></tr>";
|
var tr = "<tr><th>Attack</th><th>Status</th><th>Start/Stop</th></tr>";
|
||||||
for (var i = 0; i < res.aps.length; i++) aps += "<li>" + res.aps[i] + "</li>";
|
for (var i = 0; i < res.aps.length; i++) aps += "<li>" + escapeHTML(res.aps[i]) + "</li>";
|
||||||
for (var i = 0; i < res.clients.length; i++) clients += "<li>" + res.clients[i] + "</li>";
|
for (var i = 0; i < res.clients.length; i++) clients += "<li>" + escapeHTML(res.clients[i]) + "</li>";
|
||||||
|
|
||||||
selectedAPs.innerHTML = aps;
|
selectedAPs.innerHTML = aps;
|
||||||
selectedClients.innerHTML = clients;
|
selectedClients.innerHTML = clients;
|
||||||
@@ -48,7 +48,7 @@ function getResults() {
|
|||||||
var tr = "<tr><th>Name</th><th></th><th>Del.</th></tr>";
|
var tr = "<tr><th>Name</th><th></th><th>Del.</th></tr>";
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
tr += "<tr>";
|
tr += "<tr>";
|
||||||
tr += "<td>" + data[i][0] + "</td>";
|
tr += "<td>" + escapeHTML(data[i][0]) + "</td>";
|
||||||
if(data[i][1] == 1) tr += "<td>🔒</td>";
|
if(data[i][1] == 1) tr += "<td>🔒</td>";
|
||||||
else tr += "<td></td>";
|
else tr += "<td></td>";
|
||||||
tr += '<td><button class="button-warn" onclick="deleteSSID(' + i + ')">x</button></td>';
|
tr += '<td><button class="button-warn" onclick="deleteSSID(' + i + ')">x</button></td>';
|
||||||
|
|||||||
@@ -2,6 +2,16 @@ function getE(name){
|
|||||||
return document.getElementById(name);
|
return document.getElementById(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function escapeHTML(str) {
|
||||||
|
return str
|
||||||
|
.replace(/&/g, '&')
|
||||||
|
.replace(/</g, '<')
|
||||||
|
.replace(/>/g, '>')
|
||||||
|
.replace(/\"/g, '"')
|
||||||
|
.replace(/\'/g, ''')
|
||||||
|
.replace(/\//g, '/')
|
||||||
|
}
|
||||||
|
|
||||||
function showMessage(msg, closeAfter){
|
function showMessage(msg, closeAfter){
|
||||||
var errorE = getE("error");
|
var errorE = getE("error");
|
||||||
errorE.innerHTML = msg;
|
errorE.innerHTML = msg;
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ function getResults() {
|
|||||||
if (res.clients[i].s == 1) tr += '<tr class="selected">';
|
if (res.clients[i].s == 1) tr += '<tr class="selected">';
|
||||||
else tr += '<tr>';
|
else tr += '<tr>';
|
||||||
tr += '<td>' + res.clients[i].p + '</td>';
|
tr += '<td>' + res.clients[i].p + '</td>';
|
||||||
if(res.clients[i].l >= 0) tr += '<td>' + res.clients[i].n + ' <a onclick="editNameList(' + res.clients[i].l + ')"></a></td>';
|
if(res.clients[i].l >= 0) tr += '<td>' + escapeHTML(res.clients[i].n) + ' <a onclick="editNameList(' + res.clients[i].l + ')"></a></td>';
|
||||||
else tr += '<td><a onclick="setName(' + res.clients[i].i + ')">set</a></td>';
|
else tr += '<td><a onclick="setName(' + res.clients[i].i + ')">set</a></td>';
|
||||||
if(res.clients[i].v.length > 1) tr += '<td>' + res.clients[i].v + res.clients[i].m.substring(8, 20) + '</td>';
|
if(res.clients[i].v.length > 1) tr += '<td>' + res.clients[i].v + res.clients[i].m.substring(8, 20) + '</td>';
|
||||||
else tr += '<td>' + res.clients[i].m + '</td>';
|
else tr += '<td>' + res.clients[i].m + '</td>';
|
||||||
tr += '<td>' + res.clients[i].a + '</td>';
|
tr += '<td>' + escapeHTML(res.clients[i].a) + '</td>';
|
||||||
|
|
||||||
if (res.clients[i].s == 1) tr += '<td><button class="marginNull select" onclick="select(' + res.clients[i].i + ')">deselect</button></td>';
|
if (res.clients[i].s == 1) tr += '<td><button class="marginNull select" onclick="select(' + res.clients[i].i + ')">deselect</button></td>';
|
||||||
else tr += '<td><button class="marginNull select" onclick="select(' + res.clients[i].i + ')">select</button></td>';
|
else tr += '<td><button class="marginNull select" onclick="select(' + res.clients[i].i + ')">select</button></td>';
|
||||||
@@ -63,7 +63,7 @@ function getResults() {
|
|||||||
|
|
||||||
tr += '<tr>';
|
tr += '<tr>';
|
||||||
tr += '<td>' + res.nameList[i].m + '</td>';
|
tr += '<td>' + res.nameList[i].m + '</td>';
|
||||||
tr += '<td>' + res.nameList[i].n + ' <a onclick="editNameList(' + i + ')">edit</a></td>';
|
tr += '<td>' + escapeHTML(res.nameList[i].n) + ' <a onclick="editNameList(' + i + ')">edit</a></td>';
|
||||||
tr += '<td><button class="marginNull button-warn" onclick="deleteName(' + i + ')">x</button></td>';
|
tr += '<td><button class="marginNull button-warn" onclick="deleteName(' + i + ')">x</button></td>';
|
||||||
tr += '<td><button class="marginNull button-primary" onclick="add(' + i + ')">add</button></td>';
|
tr += '<td><button class="marginNull button-primary" onclick="add(' + i + ')">add</button></td>';
|
||||||
tr += '</tr>';
|
tr += '</tr>';
|
||||||
|
|||||||
Reference in New Issue
Block a user