Json Web Token (JWT) brute force การเดารหัสหรือ secret key ด้วย node.js
วันที่: 14 ก.ย. 2565 21:03 น.

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
ศึกษาเพิ่มเติมแลรายละเอียดที่เกี่ยวข้อง
เรื่องอื่น ๆ ที่เกี่ยวข้อง

การเขียนโปรแกรมภาษา php ให้เรียกใช้งาน jwt อย่างง่าย
เมื่อวันที่: 15 เม.ย. 2565 13:39 น.

สร้าง RESTful API เบื้องต้นสำหรับ เพิ่ม/ลบ/แก้ไข ด้วย Node.js ร่วมกับ Express
เมื่อวันที่: 7 เม.ย. 2565 23:00 น.

สร้าง Line Login ให้กับเว็บไซต์ ด้วยภาษา PHP
เมื่อวันที่: 22 เม.ย. 2565 22:55 น.

Web Scraping ดึงข้อมูลจากเว็บไซต์ด้วยภาษา PHP
เมื่อวันที่: 5 พ.ค. 2565 22:06 น.

เริ่มต้นสร้าง RESTful API ด้วย Node.js ร่วมกับ Express
เมื่อวันที่: 6 เม.ย. 2565 22:57 น.

พัฒนา Line bot ด้วยภาษา PHP อย่างง่าย ด้วยโค้ดไม่กี่บรรทัด (ep.1)
เมื่อวันที่: 13 ก.พ. 2565 10:38 น.