Json Web Token (JWT) brute force การเดารหัสหรือ secret key ด้วย node.js

วันที่: 14 ก.ย. 2565 21:03 น.

Json Web Token (JWT) brute force การเดารหัสหรือ secret key ด้วย node.js

JWT ย่อมาจาก JSON Web Token เป็นรูปแบบหนึ่งที่ใช้ในการสร้างรหัส token จากข้อมูล JSON Data แล้วทำการเข้ารหัสด้วย base64 ซึ่งเคยได้อธิบายไปแล้วในการเขียนโปรแกรมภาษา php ให้เรียกใช้งาน jwt อย่างง่ายสามารถไปอ่านต่อได้ครับ แต่ในบทความนี้ จะบอกว่า หากตั้ง secert key อย่างง่าย ๆ นั้น ไม่สามารถป้องกันการปลอมแปลง key ได้เลย เพราะมีเครื่องมือหลายตัว ที่สามารถ crack secert key ของ JWT ได้อย่างรวดเร็ว ซึ่งมีทั้งแบบ brute force แต่ละตัวตามอักขระที่กำหนดและแบบ dictionary หรือ password list มาดูตัวอย่างกันเลยครับ

เครื่องมือที่จะแนะนำในครั้งนี้ พัฒนาด้วย JavaScript และขนาดเล็กมาก ซึ่งก็คือ jwt-bf : Json Web Token (JWT) brute force การติดตั้งก็ง่ายมาก เพียงใช้คำสั่ง

npm install --global jwt-bf

 

จากนั้นก็สามารถใช้งานได้เลย โดยใช้คำสั่งนี้

jwt-bf <token> <wordlist>
  • token คือ path ของ token ของเราที่เก็บไว้ในไฟล์ .txt
  • wordlist คือ password list ที่ใช้ในการเดา ซึ่งสามารถดาวน์โหลดมาใช้จาก SecLists ได้เลย

จะได้ตัวอย่างดังนี้

jwt-bf /path/to/token.txt /path/to/wordlist.txt

 

เมื่อกด enter รอสักพัก หากพบข้อมูลจะแสดงผลลัพธ์ดังนี้เลย

SECRET FOUND: 1234
Time taken (sec): 0.006
Attempts: 4

 

ศึกษาเพิ่มเติมแลรายละเอียดที่เกี่ยวข้อง

เรื่องอื่น ๆ ที่เกี่ยวข้อง