针对日常常见的简单漏洞,做一个总结和整理:
1. SQL注入
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
2. 越权
越权分为水平越权和垂直越权:
水平越权: 指相同权限下不同的用户可以互相访问
垂直越权: 指使用权限低的用户可以访问到权限较高的用户
3. XSS
Cross-Site Scripting(跨站脚本攻击)简称XSS,是一种代码注入攻击。 攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如Cookie、SessionID 等,进而危害数据安全。
4. 任意文件上传/下载
文件上传功能没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者可以绕过其本身权限向服务器上传可执行的动态脚本。
网站由于业务需要,提供了文件查看和文件下载的功能,但是没有对用户查看和下载的文件进行限制,使得恶意用户查看和下载敏感文件。
5. URL跳转
Web应用程序接受用户控制的输入,该输入指定了指向外部站点的链接,并将其用于重定向过程,这导致了网络钓鱼攻击的发生。
6. URL传输token
主要通过日志的方式影响:访问日志泄露用户认证凭证、用户通过微信等途径分享链接时,造成用户认证信息泄漏等。
7. CSRF
CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。
8. CORS配置不当
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-originresource sharing)。出于安全原因,浏览器限制从脚本中发起的跨域HTTP请求。默认的安全限制为同源策略,即JavaScript或Cookie只能访问同域下的内容。
而CORS允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。