当前位置: 首页 > 后端技术 > PHP

Web攻击方法与防御总结

时间:2023-03-29 13:56:09 PHP

1.CSRF(cross-siterequestforgery)跨站请求伪造一句话概括:当用户浏览器同时打开危险网站和正常网站时,危险网站使用图片隐藏链接,或者js文件操作用户生成对正常网站的错误请求。这时候,因为用户会携带自己的session验证。执行来自危险网站的请求。根本原因:web的隐式认证机制解决方法:为每个提交的表单生成一个随机token,保存在session中,每次验证表单token,检查token是否正确。2、XSS(crosssitescript)跨站脚本攻击可以用一句话来概括:网站没有对提交的数据进行转义或过滤不充分,导致系统存储了一些代码,而这些代码在其他时候被携带用户请求,让用户执行相应的错误例如代码发布在论坛评论:这样,当其他用户浏览到这个页面时,这个js代码就会被执行。当然,我们也可以执行一些更严重的代码来窃取用户信息。解决方案:对用户提交的信息进行中转和过滤3、session攻击,一句话session劫持:利用某种手段获取用户sessionID,从而冒充用户发出请求原因:由于http本身是无状态的,如果要维护不同用户请求之间的状态,sessionID用于对用户进行身份验证,获取用户sessionID的三种方式:预测:PHP生成的sessionID足够复杂,难以预测,session劫持基本不可能:url参数传sessionID;隐藏字段传递sessionID;比较安全的是cookie传递。但也可以通过xss攻击获取sessionID会话固定:诱使用户使用指定的sessionID登录,使系统不会分配新的sessionID防御方式:每次登录重新设置sessionID,设置HTTPOnly防止客户端脚本访问cookie信息,防止xss攻击关闭透明sessionIDuser-agent头信息校验。如果token通过验证,请点个赞!!!更详细的解释:【网络安全百科】