认证:验证用户是否合法, 比如登录密码认证,人脸认证,短信验证,指纹;
鉴权:验证用户的操作权限,对应角色,不同的角色拥有不同的权限;
审计:后台服务会记录用户的操作,方便日后追踪定责;比如对网站的恶意攻击者发起法律维权;
跨站脚本攻击;
利用浏览器漏洞,通过执行黑客编写的js脚本来。可以窃取用户的cookie 密码 按键轨迹;
防护:用户的一切输入皆不可信。验证用户的输入,黑名单,白名单。特别的如果通过过滤用户输入,比如过滤一切<javasrcipt>和</javasrcipt>标签,如果黑客输入<java<javasrcipt></javasrcipt>srcipt>,过滤后仍然存在字符串<javascript>。建议使用白名单或者输出时过滤;
跨站伪造请求;
黑客通过诱导用户访问某个网站,让用户浏览器发起一个伪造请求,执行黑客定义的操作;
服务端伪造请求;
黑客输入内网url,服务端执行该请求,获取服务端内网信息;
OP,基于同一源下的请求只能访问当前源下的资源,比如ajax的请求如果请求其他源的资源,则会提示跨域错误。同源要素:协议+域名+端口,比如http+www.baidu.com+80;同一ip有多个域名,也会存在跨域;
通过拼接sql参数导致sql被恶意执行;
解决方案:java中通过PrepareStatement预解析后再执行;
在将字符串或者字节流转换成对象时,需要调用序列化组件的相关默认方法,黑客通过输入数据构造恶意方法,导致方法被调用,进而在服务端执行了恶意命令,拥有了服务端数据权限;
拥有了服务器的数据权限,即拥有了控制整个系统的权限!
原文链接:https://blog.csdn.net/u010355502/article/details/123447828
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18278