summaryrefslogtreecommitdiffstats
path: root/_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html
diff options
context:
space:
mode:
Diffstat (limited to '_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html')
-rw-r--r--_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html13
1 files changed, 9 insertions, 4 deletions
diff --git a/_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html b/_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html
index 0cffbdd..b280e7f 100644
--- a/_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html
+++ b/_posts/2021-04-09-kako-se-znebiti-NLB-avtentikatorja.html
@@ -31,7 +31,7 @@ endofbody: <script src=//cdn.sijanec.eu/etc/npm/node_modules/@otplib/preset-brow
<p>
Entrustov algoritem, kot je opisano v <a href=//medium.com/@ss23/the-poor-design-decisions-of-entrust-identityguard-soft-tokens-2d355a9fe786>objavi programerja neuradnih odprtokodnih orodij za Entrust</a>, ni zelo varen. S samo dvema bajtoma naključne entropije lahko, če vemo serijsko številko, aktivacijsko kodo in vsaj en pravilen OTP žeton, uspešno dobimo OATH ključ, s katerim lahko nato generiramo neskončno mnogo žetonov in s tem izničimo celotno prednost 2FA. Za uporabo potrebujemo 65536 poskusov krat število tridesetsekundnih intervalov v prihodnost in preteklost, ki jih želimo še šteti kot veljavne.
</p>
-<div class="noscript nosecurecontext">
+<div> <!-- class="noscript nosecurecontext"> --> <!-- hočemo to prikazati kadarkoli -->
<p>
To lahko s programom `crack-otp.py`, priloženim v Git repozitoriju, avtomatiziramo. Seveda moramo imeti naložen <a href=//python.org>Python</a> in programsko knjižnico <code>oath</code>, dostopno v okviru pypi/pip repozitorijev.
</p>
@@ -44,13 +44,14 @@ endofbody: <script src=//cdn.sijanec.eu/etc/npm/node_modules/@otplib/preset-brow
<div class="yesscript yessecurecontext">
<p>
- Generiranje ključa lahko avtomatiziramo. Uporabite lahko kar orodje na tej spletni strani, ki išče za vaš žeton v preteklih, trenutnih in prihodnjih 30 sekundah. Vpišite podatke iz prvega koraka in trenutni OTP žeton, izpisan v NLB Klikin aplikaciji, in pritisnite <i>izračunaj</i>.
+ Če ste povezani preko HTTPS povezave in imate dovolj moderen brskalnik z javascriptom, lahko uporabite kar orodje na tej spletni strani, ki išče za vaš žeton v preteklih, trenutnih in prihodnjih 30 sekundah. Vpišite podatke iz prvega koraka in trenutni OTP žeton, izpisan v NLB Klikin aplikaciji, in pritisnite <i>izračunaj</i>.
</p>
<script>
function buf2hex(buffer) {
return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
}
async function r () {
+ document.getElementById("r").innerText = "če se to besedilo kmalu ne zamenja, vaš brskalnik ne podpira generatorja."
e = new TextEncoder();
var s = e.encode(document.getElementById("s").value.replaceAll("-", "").replaceAll(" ", ""));
var a = document.getElementById("a").value.replaceAll("-", "").replaceAll(" ", "");
@@ -134,8 +135,12 @@ endofbody: <script src=//cdn.sijanec.eu/etc/npm/node_modules/@otplib/preset-brow
<script>
var h;
window.onhashchange = function () {
- h = window.location.hash.split("=").pop();
- document.getElementById("generator-otp-žetonov").scrollIntoView();
+ var x = window.location.hash.split("=").pop();
+ if (x != "") {
+ window.location.hash = ""; /* da ni v URLju, če kdo pride mimo in slika ekran */
+ h = x;
+ document.getElementById("generator-otp-žetonov").scrollIntoView();
+ }
};
document.addEventListener("DOMContentLoaded", function () {
window.otplib.hotp.options = {digits: 8, algorithm: "sha256", encoding: "hex"};