×

新闻动态 资料下载

一次工作中的APP CSRF 任意文件删除漏洞案例

0x_www 0x_www 发表于2021-05-17 12:30:41 浏览793 评论0

抢沙发发表评论

一次工作中的APP CSRF 任意文件删除漏洞案例


  function type2_dele(id){

     $.getJSON('dele_us_type2.htm',{strategyId:id},function(data){

      if(data.flag){

       alert("删除成功!");

       searchData(2);

      }

     });

    }

    function type3_dele(id){

     $.getJSON('dele_us_type3.htm',{viewImgId:id},function(data){

      if(data.flag){

       alert("删除成功!");

       searchData(3);

      }

dele_us_type2应该是被管理员删除了


其中的viewImgId参数就是删除的randow用户随机图片

默认返回的jsonhttp://www.XXX.com/dele_us_type3.htm?viewImgId=就是flase

这里只是写了一个判断,判断如果成功图像属性,即删除成功

并没有对声明的type3_dele 函数viewImgId进行token的判断

这就造成了可以进行交互性测试


首先准备用户1,用户1,就是攻击方,发起攻击的用户

准备用户2,受害方,就是受害的用户

 


dele_us_type3.htm就在用户相片,首先,在受害方APP程序传两张图片

任意


图片1.png





然后通过APP抓包

得到数据

为此,写个程序演示



QQ截图20210517123217.jpg



这就是受害方的数据

 

其中注意:

"ID_VIEW_IMG":"f0ad1f7e785911180178ac2d1a3b0054"

我们要测试的就是这个



我们要在受害方2退出cookie情况下,登录受害1的用户(理论上如果存在这种缺陷也可以不用登录)

删除受害2的数据

 

受害方为APP

攻击方为网页

 

 

我们先进行攻击方的POST方法,我们尝试删除


图片3.png


QQ截图20210517123317.jpg

这时候攻击方已经加载POSTcookie,实现了自动登录

接下来读取受害者的数据


然后我们退出受害者的cookie


接下来需要做的就是尝试删除

f0ad1f7e785911180178ac2d1a3b0054

图片

在程序输入f0ad1f7e785911180178ac2d1a3b0054



 图片411.png


图片42323.png




这时候我们再次登录受害者的账号

图片42321.png


发现两张照片已经变成了一张照片,证明漏洞利用成功