แก้ปัญหาลืมรหัสผ่านของ moodle

กรณีลืมรหัสผ่านเข้า moodle
กรณีลืมรหัสผ่านเข้า moodle

วันนี้ มีเพื่อนที่เป็น admin ถามกรณีลืมรหัสผ่านเข้า moodle
พอมีเวลาเพราะวันนี้ไม่ง่วงนอน จึงเข้าไปแกะ table ใน moodle
แล้วผมตอบไปว่า การเปลี่ยนรหัสผ่านของ admin หรือ user ใด
ใน moodle เข้าไปเปลี่ยนได้ไม่ยากครับ สำหรับกรณีลืมรหัสผ่าน
1. ใช้ phpmyadmin เข้าไปดูรหัสผ่านในตาราง mdl_user
2. รหัสผ่านจะเข้ารหัสไว้อ่านไม่ออก แต่คัดลอกไปวางให้คนอื่นได้เลย
เช่น p ก็จะเป็น 83878c91171338902e0fe0fb97a8c47a
3. เลือกรหัสผ่านของคนอื่นที่เข้าระบบได้ ที่เราทราบรหัสผ่านนั้น
แล้วคัดลอกไปวางแทนรหัสผ่านของ admin
ก่อนคัดลอกไปวาง ก็คัดลอกรหัสผ่านของ admin เก็บไว้ก่อน
เท่านี้ก็เข้าระบบด้วย user ของ admin ได้แล้ว
4. ถ้าไม่มีรหัสผ่านที่ทราบเลย ลองของผมก็ได้
รหัสผ่านคือ p เข้ารหัสแล้วก็เป็นตามข้อ 2
5. วิธีนี้ผมทดสอบกับ 1.5 และ 1.9
ซึ่ง user กับ password ไม่ผูกโยงกัน
Password#2555 = 54f24d3ceb6c4c264cd93d8aee2b2d3e
p = 83878c91171338902e0fe0fb97a8c47a

ผมใช้ระบบใน http://www.thaiabc.com

แกะรอย DES (Data Encryption Standard)

DES (Data Encryption Standard)
DES (Data Encryption Standard)

แกะรอย DES (Data Encryption Standard) ได้มา 5 ภาพ
เป็นเรื่องการเข้ารหัสข้อมูลที่เป็นมาตรฐาน เพื่อรักษาความปลอดภัย #security
ในอดีตเขาเชื่อกันว่า ถ้าเข้ารหัสแบบนี้แล้ว จะยากในการแกะ
หรือที่เรียกว่าการถอดรหัสข้อมูล (Data Decryption)
ภาพทั้ง 5 เป็นเพียงการแกะรอยในรอบที่ 1 แบบไม่อธิบายนะครับ
ถ้าดูแล้วไม่เข้าใจ ถือว่าธรรมดามาก ถ้าอ่านให้รู้เรื่อง
ต้องหาเอกสารมาหนุนอีกเพียบ เพราะต้องใช้ algo. ของ U.S.Government
https://www.facebook.com/media/set/?set=a.10152133699172272.1073741846.350024507271
มีประเด็นบันทึกช่วยจำ 9 ประเด็น
1. data หรือ message ในรูปของเลขฐาน 2
2. key ของเรา
3. key ที่ถูกแปลงสำหรับใช้ในแต่ละรอบ
ดังภาพแรก เข้ากระบวนการ permutation PC-1 ในรอบแรก
ที่เหลือเข้า permutaion PC-2
เก็บทั้ง 16 ค่าไว้ในใจก่อน
key ที่ได้มีขนาด 48 bits ดังภาพแรก
4. นำ data ในข้อ 1 มาผ่าน initial permutaion
จนได้ค่า ip แล้วก็นำมาแบ่งเป็น L0 กับ R0 อย่างละ 32 bits
ดังภาพที่ 2
5. ก่อนนำ R0 หรือ L0 ไปใช้ในขึ้นต่อไป
ต้องผ่านการทำ E ก่อน
เป็นขั้นตอนการทำให้ข้อมูลขยายจาก 32 bits เป็น 48 bits
ด้วย E Bit-selection table ตามภาพที่ 3
6. เมื่อได้ E แล้วก็มาทำ XOR กับ key ที่ได้จากข้อ 3
แล้วก็แปลงด้วย SBOX ซึ่งมีตาราง SBOX แบบ 0-3 และ 0-15
ทำให้ข้อมูล 6 bits เหลือ 4 bits ตามภาพที่ 4
7. นำ SBOX ที่ลด bits แล้วมาทำ permutation
อีกครั้ง แล้วค่อยไป xor กับ L0 ก็จะได้ R1 สำหรับใช้ในขั้นต่อไป
ตามภาพที่ 5
8. สำหรับ L1 นั้น ได้มาจาก R0 แบบไม่ต้องทำอะไรเลย
ในขึ้นตอนแรก L0 รับภาระหนัง แต่ขั้นที่สองเป็นหน้าที่ของ R1 ที่ต้องรับภาระ
9. ทั้งหมดเป็น cycle ที่ออกแบบ
ที่ชื่อว่า The Data Encryption Standard (DES) algorithm
ปรับปรุงโดย U.S. government ในกรกฎาคม  1977
https://www.facebook.com/photo.php?fbid=428820747141431&set=a.305680419455465.69302.135242033165972

เข้ารหัส และถอดรหัส

ciphertext
ciphertext
มีโอกาสสอนนักศึกษาเข้ารหัสข้อมูล (Encryption) และถอดรหัสข้อมูล (Decryption) โดยใช้โปรแกรมของ Kailas Jagtap ที่เขียนด้วยภาษา Assembly ใช้เทคนิคเพิ่มบิทข้อมูลเฉพาะตัวอักษรอย่างง่าย ..
จำลองให้นักศึกษาเขียนจดหมาย (Plain text) แล้วเข้ารหัสข้อมูลด้วยโปรแกรม ก็จะได้แฟ้มจดหมายที่เข้ารหัส (Ciphertext) จากนั้นก็ส่งไปให้เพื่อน ..  หากเพื่อนจะเปิดอ่านต้องถอดรหัสด้วยโปรแกรมเดียวกัน
ขั้นตอนเข้ารหัสและถอดรหัส มีดังนี้
1. สร้างแฟ้มจดหมายด้วย
DOS> echo abc>i.txt
2. ดำเนินการสร้างจดหมายที่เข้ารหัส (encryption)
DOS> secure
e
i.txt
o.txt
3. ส่งจดหมาย o.txt เป็น attach file ไปให้เพื่อนทาง facebook message
4. เพื่อนได้รับ secure.exe และ o.txt ดำเนินการถอดรหัสจดหมาย
DOS> secure
d
o.txt
in.txt
5. เพื่อนเปิด in.txt มาอ่านได้อย่างเข้าใจ
แหล่งข้อมูล