FineUI 官方论坛

标题: 服务器防火墙拦截xxs攻击,表单请求失败的问题 [打印本页]

作者: qwer20181229    时间: 2019-8-8 10:59
标题: 服务器防火墙拦截xxs攻击,表单请求失败的问题
初次加载页面的时候页面上没有动态生成隐藏id为F_STATE的input控件,正常加载页面,当在该页面有服务器端事件提交表单时,会生成一个id为F_STATE的input隐藏控件,该控件值存放当前所有页面控件源码的一个base64加密的编码,应该是记录表单提交前的一些操作,表单提交之后重新给页面控件选择值列表这些赋值,该控件值随着表单一起提交,但是服务器在接收到表单中这个F_STATE控件的值的时候,是解析出的未base64加密前的页面控件源码携带img src,alter这些,所以拦截,post提交失败,这个是因为防火墙这些会自动解码base64加密这些还是有什么其他原因造成控件源码直接在表单中提交了

作者: sanshi    时间: 2019-8-8 11:35
添加例外,这里不存在攻击行为,有时间防火墙也是傻的可以。

另一种办法就是把F_STATE保存到服务器,看下官网示例源代码的做法。
作者: qwer20181229    时间: 2019-8-9 16:14
sanshi 发表于 2019-8-8 11:35
添加例外,这里不存在攻击行为,有时间防火墙也是傻的可以。

另一种办法就是把F_STATE保存到服务器,看下 ...

我照着F_STATE保存到服务器的方法改了一下,保存的时候在当前页新增了一个隐藏域用来放F_STATE的值,F_STATE值base64编码之后前面加了几个特定字符,读取的时候剔除掉加的那几个字符在解码,防火墙就没拦截了,有点坑爹,防火墙应该是吧表单值都base64解码之后再去分析的
作者: sanshi    时间: 2019-8-12 10:23
qwer20181229 发表于 2019-8-9 16:14
我照着F_STATE保存到服务器的方法改了一下,保存的时候在当前页新增了一个隐藏域用来放F_STATE的值,F_ST ...

所以从防火墙下手吧




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4