我在调用事件跟踪器日历时发现了一个Ajax服务。 [MYSERVER] /忻-tracker_calendar列表trackerId = 30&安培; beginField =的startDate&安培; ENDFIELD =结束日期&安培; resourceField =标题&安培; coloringField = NULL&安培;过滤器=%0D%0A%7Bfilter%20field%3D%22tracker_field_eventCategory%22%20content%3D %22%22%7D%0D 0A%&安培;开始= 1488085200&安培;端= 1491710400&安培; _ = 1490626987241
如果攻击者利用此功能并输入: 忻-tracker_calendar列表trackerId = 30&安培; beginField =&的startDate放大器; ENDFIELD =结束日期&安培;开始= 0&安培;端= 9999999999 系统将返回跟踪器30中的所有事件。 我试着进入: `if(!isset($ user))
{
header('Location:index.php');
裸片;
}` 在文件中:/var/www/html/tikisvn15/tiki-ajax_services.php
第35行
有效。还有其他方法吗?我的修改会从其他组件中停止Ajax服务吗?
答案 0 :(得分:1)
您可以设置哪些组可以查看使用Tiki权限系统的内容。 See the documentation here
注意一旦您将跟踪器设置为对匿名(未登录)用户不可见,您将需要重建搜索索引(在控制面板上 - >搜索)因为TrackerCalendar广泛使用搜索索引。
我建议不要在tiki代码中放置这样的任意用户检查,因为事情会停止工作,我认为很难找出原因。