itsGno.github.io

CSV Injection

หรือที่รู้จักกันในชื่อ Formula Injection จะเกิดขึ้นเมื่อ Web application มีการฝัง input ที่ไม่น่าเชื่อถือเข้าไปในไฟล CSV

เมื่อโปรแกรม Spreadsheet อย่างเช่น Microsoft Excel หรือ LibreOffice Calc ถูกใช้ในการเปิดไฟล์ CSV โดยที่ในไฟล์นั้นมี cell ที่เริ่มต้นด้วย = จะทำให้โปรแกรมมองว่า cell นั้นคือ Formula โดยผู้ไม่หวังดีสามารถฝังสูตรเพื่อโจมตีเหยื่อผู้ที่เปิดไฟล์ได้โดยการโจมตีที่ร้ายแรงที่สุดก็มักจะเป็นการยึดเครื่องของผู้ใช้งาน

img

วิธีการป้องกัน

การป้องกันการโจมตีชนิดนี้ค่อนข้างยาก เนื่องจากบางครั้งก็เป็นการตั้งใจเพื่อที่จะใช้งานฟังก์ชั่นดังกล่าวของทางผู้ใช้งาน โดยที่จะป้องกันการช่องโหว่นี้คือการทำให้มั่นใจว่า แต่ละ cell ใน spreadsheet ไม่เริ่มต้นด้วยตัวอักษรดังต่อไปนี้

อ้างอิง

https://owasp.org/www-community/attacks/CSV_Injection#:~:text=CSV%20Injection%2C%20also%20known%20as,untrusted%20input%20inside%20CSV%20files.&text=Maliciously%20crafted%20formulas%20can%20be,such%20as%20CVE%2D2014%2D3524

https://www.contextis.com/en/blog/comma-separated-vulnerabilities

https://www.youtube.com/watch?v=SC7AkclnG2g