1、Apache JServ协议服务
描述:
Apache JServ协议(AJP)是一种二进制协议,可以将来自Web服务器的入站请求代理到 位于Web服务器后面的应用程序服务器。不建议在互联网上公开使用AJP服务。 如果AJP配置错误,可能会允许攻击者访问内部资源。
我的修复建议:{tocamat目录}/conf/server.xml中将下面的配置给注释掉:
2、没有CSRF保护的HTML表单
描述:
此警报需要手动确认
跨站点请求伪造(CSRF或XSRF)是一种漏洞,其中攻击者将欺骗者向受害者提出请求没有打算做。因此,使用CSRF,攻击者滥用Web应用程序与受害者浏览器的信任。
Acunetix发现一个没有明显的反CSRF保护的HTML表单。有关详细信息,请参阅“攻击详细信息”部分有关受影响的HTML表单的信息。
影响:
攻击者可以使用CSRF欺骗受害者访问攻击者托管的网站,或点击包含的URL恶意或未经授权的请求
CSRF是一种“混乱的副手”攻击,在伪造时利用受害者的认证和授权 请求正在发送到Web服务器。因此,如果CSRF漏洞可能会影响高度特权的用户,例如 管理员可以全面的应用程序妥协。
报告给出的建议是:
验证此表单是否需要反CSRF保护,并在必要时实施CSRF对策。
推荐和最广泛使用的防止CSRF攻击的技术也被称为反CSRF令牌,有时称为同步器令牌。设计良好的反CSRF系统的特点如下属性。
(1)反CSRF令牌对于每个用户会话应该是唯一的
(2)会话应该在适当的时间段之后自动过期
(3)反CSRF令牌应该是具有显着长度的密码随机值
(4)反CSRF令牌应该是加密安全的,也就是由强伪随机数生成器生成的(PRNG)算法
(5)反CSRF令牌被添加为表单的隐藏字段,或者在URL内添加(仅当GET请求导致状态时才需要更改,即GET请求不是幂等)
(6)如果反CSRF令牌验证失败,服务器应拒绝所请求的操作
当用户提交表单或进行一些需要Cookie的其他经过身份验证的请求时,反CSRF令牌应该是包含在请求中。 然后,Web应用程序将在处理之前验证此令牌的存在和正确性请求。 如果令牌丢失或不正确,请求可以被拒绝。
建议:
在提交中加入一个$_SESSION['token']唯一值做验证。
意思就是在每次请求后台接口时在最后面在随机加个参数,传入一个随机的数。比如在前台js中随机生成一串数字,然后以隐藏的方式放入表单中或session中。后台action在接受后再判断是否有这个值。