0

我发现一个 Ajax 服务正在运行,因为我调用了我的事件跟踪器日历。[myserver]/tiki-tracker_calendar-list?trackerId=30&beginField=startDate&endField=endDate&resourceField=title&coloringField=null&filters=%0D%0A%7Bfilter%20field%3D%22tracker_field_eventCategory%22%20content%3D%22%22%7D%0D%0A&start =1488085200&end=1491710400&_=1490626987241

如果攻击者利用它并输入: tiki-tracker_calendar-list?trackerId=30&beginField=startDate&endField=endDate&start=0&end=9999999999 系统将返回跟踪器 30 中的所有事件。我尝试输入:`if (!isset($user) )

{

header('位置:index.php');

死;

}` 在文件中:/var/www/html/tikisvn15/tiki-ajax_services.php

在第 35 行

有用。还有其他方法吗?我的修改会阻止其他组件的 Ajax 服务吗?

4

1 回答 1

1

您可以使用 Tiki 权限系统设置哪些组可以看到什么。请参阅此处的文档

请注意,一旦您将跟踪器设置为对匿名(未登录)用户不可见,您将需要重建搜索索引(在控制面板 -> 搜索上),因为 TrackerCalendar 广泛使用搜索索引。

我建议不要将这样的任意用户检查放在 tiki 代码中,因为事情将停止工作,而且我认为很难找出原因。

于 2017-03-28T16:34:12.830 回答