WEB基本攻击大致可以分为三大类—— “资源枚举”、“参数操纵” 和 “其它攻击”
资源枚举:遍历站点所有可访问的目录,然后把一些常见的备胎文件名(比如“sql.bak”、“index-副本.html”)一个个都枚举一下,如果运气好枚举到了就直接下载。
参数操纵:包括了SQL注入、XPath注入、cgi命令执行,还有XXS和会话劫持等,xxs攻击指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入的恶意html代码会被执行,从而达到恶意用户的特殊目的
cookie劫持:通过获取页面的权限,在页面中写一个简单的到恶意站点的请求,并携带用户的cookie,获取cookie后通过cookie 就可以直以被盗用户的身份登录站点
解决方案:
永远不要相信客户端传来的任何信息,对这些信息都应先进行编码或过滤处理
谨慎返回用户输入的信息
使用黑名单和白名单处理(即“不允许哪些敏感信息”或“只允许哪些信息”,白名单的效果更好但局限性高)
检查、验证请求来源,对每一个重要的操作都进行重新验证
使用SSL防止第三方监听通信(但无法阻止XSS、CSRF、SQL注入攻击)
不要将重要文件、备份文件存放在公众可访问到的地方
会话ID无序化
对用户上传的文件进行验证(不单单是格式验证,比方一张gif图片还应将其转为二进制并验证其每帧颜色值<无符号8位>和宽高值<无符号16位>)
WSDL文档应当要求用户注册后才能获取