Friday, November 15, 2013

อธิบายช่องโหว่ที่เรียกประมาณว่า "path disclosure"

==========
พวกช่องโหว่ path disclosure (มันมีหลายชื่อเรียกนะ) ความหมายสั้นๆ ก็คือ
บัคที่มีการแสดง error message ต่างๆ นั่นเอง

ซึ่งจากข้อมูล error message ต่างๆ นี้
ก็จะแสดงให้ attacker (หรือ hacker) เห็นพวก username, และ folder ต่างๆ (information)
และนำไปใช้ประโยชน์ในการโจมตี (หรือแฮก) เว็บได้นั่นเอง
เช่น brute force ssh, brute force sql login หรือ หา information ต่างๆ จาก error massage ที่ได้

==========
ยกตัวอย่าง path disclosure จากบัค PMASA-2012-2
(phpmyadmin local path disclosure vulnerability)

bug : https://github.com/phpmyadmin/phpmyadmin/blob/d17fba309c11bcda59d74f238d75a56c543393f0/show_config_errors.php
diff patch : https://github.com/phpmyadmin/phpmyadmin/commit/c51817d3b8cb05ff54dca9373c0667e29b8498d4#diff-623df9196ca4b1c790ac2bece157a712

จะเห็นว่าไฟล์ show_config_errors.php
ได้มีการเรียกใช้ ฟังชั่น "require CONFIG_FILE;" (บรรทัดที่ 17)
ซึ่ง CONFIG_FILE ถูก define ไว้เป็น ./config.inc.php
ซึ่งถ้าเว็บเป้าหมายไม่มีไฟล์ ./config.inc.php
ก็จะทำให้ เปิดไฟล์ไม่ได้ ซึ่งก็จะทำให้เกิด error message ขึ้นมานั่นเอง

เช่น
hxxp://samuiforsale.com/phpmyadmin/show_config_errors.php
hxxp://adsovo.com/phpMyAdmin/show_config_errors.php
hxxp://mekonecology.net/phpmyadmin/show_config_errors.php
hxxp://whatels.net/phpmyadmin/show_config_errors.php

ภาพปลากรอบ

วิธีป้องกัน
- update cms, เว็บ ที่ใช้ให้ เป็น version ใหม่เสมอๆ
- ตรวจเช็ค code ให้ดีๆ (programmer ควรรอบคอบหน่อย)
*เพราะ ผมก็ยังเห็นเว็บ ธนาคาร มี error พวกนี้ อยู่เหมือนกัน
- ปิดการแสดง error message ในเครื่อง product

ชื่ออื่นๆ
- Full Path Disclosure (FPD)
- Local Path Disclosure (LPD)

==========
ปล. พยายามเขียน หล่อๆ และ หลีกเลี่ยง คำว่า เอาไปแฮกชาวบ้าน ได้เท่านี้ว่ะครับ ^^"

No comments:

Why You Don't LIKE My FaceBook Fanpage ?
×
blogger