【业务应用安全漏洞】
1.XSS:
①全称:Cross Site Script(跨站脚本)
②目的:为了与层叠样式表css区分,将跨站脚本简写为XSS
③危害:原则是将一段JavaScript代码注入网页。然后当其他用户访问该页面时,他们将运行黑客编写的JS代码来实现一些帐户控制,盗取用户信息、钓鱼、制造蠕虫等。
④概念:黑客通过“HTML注入”篡改了网页,插入了恶意脚本,从而在用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。
⑤场景:黑客可以利用xss盗取用户的cookie,有了用户的cookie,可以以用户的身份来正常访问站点。XSS属于客户端代码注入,通常注入代码是JavaScript。区别于命令注入,SQL注入属于服务端代码注入。
⑥案例:经典的是用户签名栏。这个地方允许用户自定义。内容将存储在数据库中。当其他用户浏览他时,它将从数据库加载。如果恶意用户在其签名栏中注入了js参考,那么浏览他的所有人都将被Js控制,存储类型XSS的危险可能危及整个站的用户,非常危险。
2.Csrf:
①全称:CSRF(Cross Site Request Forgery),中文是跨站点请求伪造。
目的:CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。
③特点:
CSRF攻击是攻击者利用用户的身份操作用户帐户的一种攻击方式,通常使用Anti CSRF Token来防御CSRF攻击,同时要注意Token的保密性和随机性。
④对策:
1. 尽量使用POST,限制GET;2. 浏览器Cookie策略;3. 加验证码;4.加密传输
主流对策:
1.token:比如,用户访问某表单,服务端自动生成一个随机token,放在用户session中,或者浏览器的cookie中,用户发起请求时,必须验证表单中的taken值和用户session或者浏览器cookie一致,才处理请求,否则返回非法请求提示信息。
②案例:
新浪微博,攻击者发布了一篇微博,微博转发过程包含了关注微博发起人的接口,接口的参数id是读取访问这篇微博的用户ID,如果在原始微博中加入一段自动获取用户id的代码,所有查看该微博的用户,就会被自动关注微博发起者。
一名黑客利用CSRF通过Gmail的成功攻击成功窃取了好莱坞明星Vanessa Hudgens的邮箱。攻击很简单,她给她发了一封电子邮件,内容是图片,但这张照片有点特别。它是这样写的:当用户点击邮件加载图片时,他实际上访问了这样的链接:https://mail.google.com/mail?ui = 2&fw = true&fwe = my @ email.com,这个链接的功能是Gmail设置邮件转发,因此目标邮箱中的所有邮件都被转发到黑客指定的邮箱。有很多这样的例子。只需构造正确的Get链接,让浏览器发送Get请求。由于用户已经登录,因此它将携带正确的cookie并直接访问链接以实现相关功能
3.sql注入:
对策:
执行关键字检查。如果包含SQL的关键字,例如 *、or、select、delete等等关键字就进行替换;最有效的仍然是使用SQL变量进行查询,避免使用字符串来拼接SQL字符串。
【安全测试-撞库攻击】
1.论点:
1.1项目时间紧迫,认为安全性不重要
1.2缺乏安全性相关技能知识
1.3没有安全性相关的流程策略
2.撞库:
1.1.场景:撞库攻击是黑客通过手机互联网已经泄露的用户名和密码信息,生成对应的字典表,
尝试批量登录其他网站后,得到一系列可以登陆的用户信息。
1.2原因:现在网站太多,大部分用户为了便于记忆,都是用的同一套密码登录不同网站,因此黑
客可以通过获取用户A网站账户密码,去登陆B网站。
3.靶机环境:
1.1靶机可以作为安全测试学习者的标靶,网站自带各种漏洞,可以方便模式和实践。
1.2环境搭建:DVWA和XAMPP,完全免费而且易于安装,支持Msql、php和perl,可以非常方便
的提供DVWA运行和部署中间件和数据库环境支持。
4.资料收集:
1.1漏洞分析:做安全测试,最开始一定是要知道我们目前网站主要存在哪些高危漏洞,OWASP
TOP10就可以很好地指引一个测试方向。
5.防御机制:
1.1验证码机制、token机制、登录次数限制
1.2满足以上机制,暴力破解就无法成功。
1.3测试方式:
1.1运行测试,如果满足以上防御机制,暴力破解就无法成功。--等级为1级
1.2渗透测试,通过连接、文本框等注入,查看是否可以破解登录。
1.3代码审查,通过头脑风暴、防御策略,让整个团队,完成互相审查。
1.4工具扫描,通过findbugs、fortify等静态分析工具扫描漏洞。
1.5OWASP,通过网站扫描工具,动态扫描网站,然后选取测试地址做一次爬虫和主动扫描
1.6OWASP,撞库,frezy攻击,add常用的用户名和密码文件,txt。
【安全测试-基础信息】
1.web安全测试的兴起:
1.1早期的黑客攻击目标主要是网络
1.2随着防火墙及网络的检测系统开始,web漏洞成为了黑客重要目标
1.3web1.0时代,主要是以上传脚本攻击为主要攻击方式
1.4web2.0时代,XSS和CSRF攻击兴起。
1.5-1999年,SQL注入出现。
1.6-2003年,XSS注入出现。
1.7-2019年,互联网安全测试被大众所熟知。
2.主要的安全漏洞:
1.1-注入攻击:ajax注入、xpath注入、sql注入(字符型、字符串、盲注入)
1.2-XSS:跨站点脚本攻击
反射型:攻击者代码不会存储到服务器上,伪造一个url发送给受害者,受害者执行的时候回
触发url隐藏的script脚本,达到攻击的目的。
存储型:攻击者将代码上传到服务器上,当其他受害者去点击响应位置链接,正好触发script
的脚本,引发攻击。
1.3-敏感信息泄露:
通常出现在网站出现错误或者异常的时候,开发者对于网站的用户信息和错误提示没有进行
安全的封装,导致敏感信息泄露。
通常还有我们的html源代码里面,点击查看源代码,有些注释信息或者代码没有加密,造成
信息泄露。
通常还有我们发送请求或者响应的时候,密码没有加密,造成铭感信息泄露。
1.4-CSRF跨站请求伪造:
1.通常是伪造一个页面,把页面email或者http发送给别人,别人在页面输入信息的时候触发
脚本,脚本自动获取到用户的cookie和session,通过获取的信息去访问网站,服务器会以为
是正常用户,达到攻击目的。