怎么分析Facebook Ads广告业务API接口的源代码泄露漏洞

怎么分析Facebook Ads广告业务API接口的源代码泄露漏洞

发现漏洞

一个多月后,我就发现了存在Facebook Ads广告业务系统API中的一个漏洞。存在漏洞的API是一个图片处理接口,它用于Facebook商户账户上传广告图片,上传的图片会储存在一个名为“/adimages”的目录下,并用base64格式编码。所以,我的测试构想是,在这里的机制中,可以向上传图片中注入恶意Payload,经API转换为 Base64 格式后,再被Facebook传入服务器中。

以下为上传图片的POST请求:

POST /v2.10/act_123456789/adimages HTTP/1.1

Host: graph.facebook.com

Bytes=VGhpcyBpcyBtYWxpY2lvdXMgcGF5bG9hZC4=

由于Facebook服务器端不能有效地处理恶意Payload图片,最终其“Image Resizing Tool”图片处理工具返回了一个报错,在某个JSON响应内容的异常消息中,就包括了一些PHP库函数代码,这些代码来自不同的Facebook库文件,可以肯定的是,这应该属于Facebook源代码的一部份。

HTTP/1.1 200 OK{“error”:{“message”:”Invalid parameter”,”type”:”FacebookApiException”,”code”:100,”error_data”:”exception ‘Exception’ with message ‘gen_image_rescale_multi_thrift call to shrinkImageMulti failed with fbalgo exception: 43 (43: : IDAT: invalid distance        too far back)’ in \/var\/www\/flib\/resource\/filesystem\/upload\/upload.php:1393\nStack trace:\n#0 \/var\/www\/flib\/resource\/filesystem\/upload\/upload.php(1662): gen_image_rescale_multi_thrift()\n#1 \/var\/www\/flib\/ads\/admanager\/adupload\/adupload.php(252):        gen_image_rescale_multi()\n#2 \/var\/www\/flib\/ads\/admanager\/adupload\/AdImageUtils.php(195): _gen_adupload_image_resize()\n#3 \/var\/www\/flib\/ads\/entities\/creatives\/photos\/AdproCreativePhotoDownload.php(53): AdImageUtils::genResizeLocalFile()\n#4        \/var\/www\/flib\/platform\/graph\/resources\/adaccount\/adimages\/mutators\/GraphAdAccountAdImagesPost.php(134): AdproCreativePhotoDownload::addLocalFileToCreativeLibrary()\n#5 \/var\/www\/flib\/core\/data_structures\/utils\/Arrays.php(440):        Closure$GraphAdAccountAdImagesPost::genImplementation#3()\n#6 \/var\/www\/flib\/platform\/graph\/resources\/adaccount\/adimages\/mutators\/GraphAdAccountAdImagesPost.php(136): Arrays::genMapWithKey()\n#7 \/var\/www\/flib\/ads\/api\/graph_base\/GraphAdsWriteWithRedirectBase.php(22):        GraphAdAccountAdImagesPost->genImplementation()\n#8 \/var\/www\/flib\/ads\/api\/graph_base\/GraphAdsWriteWithRedirectBase.php(11): GraphAdsWriteWithRedirectBase->genDoCall()\n#9 \/var\/www\/flib\/core\/asio\/gen_utils.php(24): GraphAdsWriteWithRedirectBase->genCall()\n#10        \/var\/www\/flib\/platform\/api\/base\/ApiBaseWithTypedApiData.php(204): genw()\n#11 \/var\/www\/flib\/platform\/api\/base\/ApiBase.php(85): ApiBaseWithTypedApiData->genCallWithApiDataBase()\n#12 \/var\/www\/flib\/platform\/graph\/core\/runner\/GraphApiRunnerBase.php(373):        ApiBase->genMakeCall()\n#13 \/var\/www\/flib\/platform\/graph\/core\/GraphRequestProcessorBase.php(629): GraphApiRunnerBase->genCall()\n#14 \/var\/www\/flib\/platform\/graph\/core\/GraphRequestProcessorBase.php(45): GraphRequestProcessorBase->genExecuteSingleGraphRequestCore()\n#15        \/var\/www\/api\/graph\/server.php(168): GraphRequestProcessorBase->genExecuteSingleGraphRequest()\n#16 \/var\/www\/api\/graph\/server.php(174): gen_api_graph_server()\n#17 \/var\/www\/flib\/core\/asio\/Asio.php(35): gen_api_graph_server_wrapper()\n#18        (): Closure$Asio::enterAsyncEntryPoint()\n#19 \/var\/www\/flib\/core\/asio\/Asio.php(37): HH\\Asio\\join()\n#20 \/var\/www\/api\/graph\/server.php(180): Asio::enterAsyncEntryPoint()\n#21 {main}”,”error_subcode”:1487242,”is_transient”:false,”error_user_title”:”Image        Resize Failed”,”error_user_msg”:”Image Resize Failed:unknown reason”,”fbtrace_id”:”EN\/o9hmqwZz”},”__fb_trace_id__”:”EN\/o9hmqwZz”}

看完上述内容,你们对怎么分析Facebook Ads广告业务API接口的源代码泄露漏洞有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

文章标题:怎么分析Facebook Ads广告业务API接口的源代码泄露漏洞,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/27014

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年9月19日 下午11:51
下一篇 2022年9月19日 下午11:52

相关推荐

  • 数据库加密有什么用

    数据库加密的主要用途包括:保护数据的安全性、防止未经授权的访问、满足法规要求、防止数据泄露、保证数据的完整性和可靠性。数据库加密是一种安全策略,它可以确保存储在数据库中的敏感信息不被未经授权的用户访问。如果没有正确的密钥,即使数据被盗,也无法解读加密的信息,从而极大地增强了数据的安全性。此外,数据库…

    2024年7月16日
    500
  • 数据库跳板是什么意思

    数据库跳板是一种在网络安全领域常见的术语,是指黑客通过某个已经被控制的数据库,跳转到其他的数据库或系统,以此进行进一步的攻击行为。具体来说,数据库跳板包括以下几个步骤:一、黑客首先找到一个安全漏洞较多、比较容易攻击的数据库,然后利用各种手段将其控制;二、控制后,黑客会在此数据库中植入恶意代码,使其成…

    2024年7月16日
    500
  • 数据库实现了些什么功能

    数据库实现了数据存储、数据检索、数据管理、数据完整性、数据安全、并发控制、备份与恢复等功能。在这些功能中,数据存储是最基础的功能,因为所有的数据操作都依赖于数据存储这一核心功能。数据存储确保了数据的持久化,能够在需要时进行读取和操作,而不会因为系统关闭或故障而丢失数据。数据库系统通过高效的数据存储机…

    2024年7月16日
    300
  • 电信数据库都做些什么工作

    电信数据库的主要工作包括数据存储、数据管理、数据分析、数据安全、数据备份和恢复、数据集成和数据挖掘。数据存储是其核心功能之一,确保大量用户信息、通话记录、账单数据等能够高效、安全地存储。数据管理涉及对这些数据的组织和维护,确保数据的准确性和一致性。数据分析则通过大数据技术对存储的信息进行深度挖掘,帮…

    2024年7月16日
    400
  • 启动数据库用什么软件好

    启动数据库,我们可以选择多种不同的软件,比如MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、SQLite等。每种数据库软件都有其独特的特性和适应的应用场景。例如,MySQL是最受欢迎的关系数据库管理系统,它具有开源、性能高效、成本低、可扩展性好等优点,被广泛应用…

    2024年7月16日
    300
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部