浅淡常见的WEB安全漏洞测试及验证
【文件上传漏洞】
1.对用户上传的文件没有进行充分合理的验证,导致被上传***等恶意文件并执行
验证方式可能有:客户端JS检测、服务器MIME类型检测、服务器目录路径检测、服务器文件扩展名检测、服务器文件内容检测。
常见的方式:服务器充分验证文件类型及文件内容、服务器端重命名
其他限制:服务器端上传目录设置不可执行权限
【CSS漏洞】
例如input输入框这种类型的测试:
http:/host/xss/example1.php?name = song <script>alert("hello")</script>
测试的时候也可以直接简单点,输入简单的这些实体字符(例如:<>()"),然后查看前台的源代码是否做转义,如果没有那么自己可以输入任何的脚本都是有可能执行的。
Ps: CSS 绕过的方法,其实是很多的,一般我们可以根据后台的返回来通过不同的方法绕过进行测试
【SQL注入***】
相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
SQL注入:
还有所谓的命令注入:
二、关于WEB安全的几点思考:
安全意识
永远不用相信来自用户的输入
管理所有来自客户端的数据
开发安全的代码
遵循最佳安全实践来指导构建WEB系统
三、常用WEB安全检测工具介绍
黑盒类测试工具:
三、安全测试包含内容
一般来说,80%的安全测试都包含在这里面了:
简单来看一下这类测试生成的测试报告,例如 acunetix web vulnerability scanner 工具扫描测试结果如下,我们可以针对不同等级的测试漏洞来选择性的进行关注或者手工验证尝试。