如何检测网站漏洞,web漏洞扫描工具盘点

一、常见漏洞 1 。高风险漏洞
XSS跨站脚本漏洞:由于程序员在编写程序时 , 没有对用户提交的数据进行充分的合规性判断和HTML编码 , 直接将数据输出到浏览器客户端 , 导致用户提交一些专门构造的脚本代码或HTML标记代码 , 在输出到浏览器时被执行 。
SQL注入漏洞:通过在Web表单中插入SQL命令提交或输入域名或页面请求的查询字符串 , 可以诱骗服务器执行恶意的SQL命令 。
具体来说 , 就是利用现有应用程序将(恶意)SQL命令注入后台数据库引擎执行的能力 。它可以通过在web表单中输入(恶意的)SQL语句 , 得到一个存在安全漏洞的网站上的数据库 , 而不是按照设计者的意图执行SQL语句 。
网站内有备份文件:在网站使用过程中 , 经常需要对网站内的文件进行修改和升级 。这时候就需要备份整个网站或者其中一个页面 。当修改过程中的备份文件或缓存文件由于各种原因留在网站web上时
目录下 , 而该目录又没有设置访问权限时 , 便有可能导致备份文件或者编辑器的缓存文件被下载 , 导致敏感信息泄露 , 给服务器的安全埋下隐患 。
2 。中度危险漏洞
目录遍历漏洞:网站存在配置缺陷和目录浏览漏洞 , 会导致网站的很多* *文件和目录泄露 , 如数据库备份文件、配置文件等 。攻击者可以利用这些信息更容易地获得网站权限 , 导致网站被黑 。
文件上传漏洞:文件上传没有限制 , 可能会上传可执行文件 , 或者脚本文件可能会进一步导致服务器宕机 。
敏感信息泄露:系统暴露内部信息 , 如网站绝对路径、网页源代码、SQL语句、中间件版本、程序异常等 。
默认密码和弱密码:因为默认密码和弱密码很容易被猜到 。
3 。低风险漏洞
异常处理:发生错误时 , 向用户提交错误提示是正常的 。但如果提交的错误提示包含的内容过多 , 则会帮助攻击者更全面地了解网站的架构 , 帮助攻击者入侵网站 。
后台地址泄露:网站使用一些开源软件作为后台 , 后台登录地址未被修改 。攻击者经常使用该地址进行网站后台登录 , 如弱密码、表单绕过、暴力* * , 等等 。 , 从而获得网站的许可 。
flash标签配置不当的漏洞:在引入Flash时 , 网页会通过object/embed标签 。设置时 , 如果某些属性配置不当 , 会带来安全问题:
allowScriptAccess:是否允许flash访问浏览器脚本 。如果不对不信任的flash限制 , 默认会允许调用浏览器脚本 , 产生XSS漏洞 。always(默认值) , 总是允许;sameDomain , 同域允许;never , 不允许 allowNetworking:是否允许flash访问ActionScript中的网络API 。如果不对不信任的flash限制 , 会带来flash弹窗、CSRF等问题 。all , 允许所有功能 , 会带来flash弹窗危害;internal , 可以向外发送请求/加载网页;none , 无法进行任何网络相关动作(业务正常功能可能无法使用)网站中存在敏感目录:网站中存在敏感目录 , 如/upload /database /bak 。这些信息有助于攻击者更多地了解网站的架构 , 帮助他们入侵网站 。
二、漏洞解决方案 1 。SQL注入漏洞
1.过滤掉一些常见的数据库操作关键词:select、insert、update、delete、and , *等 。
2.所有查询语句都使用数据库提供的参数化查询接口 , 即在构造动态SQL语句时 , 必须使用类型安全的参数超重机制 。
3.对于特殊字符(' & *;)输入数据库等 。)进行转义处理 , 或编码转换 。
4.确认每个数据的类型和长度 。比如数字数据必须是数字的 , 数据库中的存储字段必须对应int 。
5.控制错误信息:关闭错误信息 , 将错误信息写入系统日志 , 防止攻击者利用这些错误信息做出一些判断 。
6.锁定数据库的安全性 , 只授予访问数据库的web应用程序功能所需的最低权限 。
2 。XSS跨站脚本漏洞
1.假设所有的输入都是可疑的 , 比如脚本、iframe等 。所有输入都必须经过严格检查 。
2.尽量用邮寄的方式而不是GET的方式提交表格 。
3.不要只在客户端做数据验证和过滤 , 关键的过滤步骤都是在服务器端进行的 。


推荐阅读