1.Insecure Communication - Insecure Login
ด่านทดสอบนี้ อธิบายให้เห็นเรื่องการเข้ารหัส Session
และทำการ Random ค่า Session ให้มีความซับซ้อนเพื่อความปลอดภัย
Tool ที่ใช้คือ : Wireshark
ทำการ Filter โดยใช้คำสั่ง : http.request.method=="POST"
จะมองเห็น Username / password ในรูปแบบ plaintext ปกติ
- ครั้งต่อมาให้เราทำการเลือก
Is the password still transmited in plaintext? : No
Which protocol is used for the transmission? : TLS
- และทำการเพิ่ม https:// ไว้ข้างหน้า Url
I Understand the risks > Click Add Exception > Get Certificate
หลังจากนั้นลองใช้ Wireshark ดักข้อมูลดู
จะเห็นความเปลี่ยนแปลงจากเดิม Protocol : HTTP ไปเป็น Protocol : TLS
2.Insecure Configuration - Forced Browsing
Go to : /WebGoat/confคุณจะสามารถเข้าไปที่หน้า Config page ได้
ซึ่งความจริงแล้ว ควรจะทำได้เฉพาะ maintenance personnel เท่านั้น
3.Insecure Storage - Encoding Basics
เพื่อเข้าใจ ความแตกต่าง และการเข้ารหัสในรูปแบบต่างๆโดย String ที่เราจะใช้เป็นตัวอย่างให้หัวข้อด้านล่างนี้คือ : hacked
และเมื่อเข้ารหัสในรูปแบบต่างๆตามวิธีด้านล่าง
- base64 : aGFja2Vk
- password based encryption (PBE) : IUUAT+uVC1M=
- md5 hash
+ไม่สามารถย้อนกลับ Original String ได้ (ดีกว่าการใช้ SHA-256)
- sha-256 hash : t5SJRImJPqwfLb//sXuF5Q7dW6jeAAWw9KQrJIgxmxg=
+ไม่สามารถย้อนกลับ original string or bytes ได้
- hex : %68%61%63%6B%65%64
- Rot13 : unpxrq
- XOR : Lw4MCQAW