OwaspBWA - Insecure [ Communication & Configuration & Storage ]

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
จากนั้นทำการยอมรับ Certificate
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
เป็นการเข้ารหัส Bytes  -> ASCII characters   ที่สามารถย้อนกลับได้ง่าย,ไม่มีความปลอดภัย  


  • password based encryption (PBE) : IUUAT+uVC1M=
ถือเป็น Strong encryption ด้วย text passwordไม่สามารถถอดรหัสได้ ถ้าไม่มี password


  • md5 hash 
คือ checksum ที่สามารถใช้ในการตรวจสอบ string หรือ byte array
+ไม่สามารถย้อนกลับ Original String ได้  (ดีกว่าการใช้ SHA-256)


  • sha-256 hash : t5SJRImJPqwfLb//sXuF5Q7dW6jeAAWw9KQrJIgxmxg=
คือ checksum ที่สามารถใช้ตรวจสอบ String หรือ byte array
+ไม่สามารถย้อนกลับ original string or bytes ได้


  • hex %68%61%63%6B%65%64
เข้ารหัส bytes เป็นรูปแบบ %xx


  • Rot13 : unpxrq
เป็นวิธีเข้ารหัสที่ทำเพื่อ ไม่ให้สามารถอ่านข้อความได้ แต่ย้อนกลับได้ง่าย+ไม่มีความปลอดภัย


  • XOR : Lw4MCQAW
กับรหัสผ่านคือรูปแบบการเข้ารหัสที่อ่อนแอ ที่ผสมรหัสผ่านไปในข้อมูล