一xss攻击
人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。 跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。 攻击者可以使用户在浏览器中执行其预定义的恶意脚本,其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫,甚至破坏网站、修改路由器配置信息等。 XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)
例如:
可以将内容部分全部替换成xss语句:
<object+data%3d"data%3atext/html%3bbase64,PGlmcmFt9WydqYXZhc2MnLCdyaXB0OmFsJywnZXJ0KDEpJ10uam9pbignJy"></object>
二 水平越权访问
应用系统在处理同一功能业务时,未对数据和当前用户的权限进行合法性校验,导致用户可越权访问、篡改、删除、添加其他同权限用户的信息,造成越权操作。常见如:访问任意用户订单、修改任意用户密码、删除任意用户信息等。
三 接口信息泄露(高危)
随着前后端分离架构的优势越来越明显,前后端分离的应用场景也越来越广,为了前后端程序员在实际开发中能够有统一的接口文档去调试,因此也随着衍生出了很多API接口文档以及调试工具,如swagger、docway、yapi、Web Api HelpPage等。但是在使用过程中,如果不注意安全配置,很容易通过接口泄露敏感数据。
攻击者通过调用、未授权访问接口的方式,获取大量敏感信息,如接口存在文件上传功能的话,攻击者可以直接利用该漏洞获取服务器权限
四 存在敏感信息泄露(高危)
比如在线用户手册上面暴露了具体用户的登录名密码等,或者人员的真实身份信息敏感信息等
五 存在未授权访问(高危)
应用系统对业务功能页面未进行有效的身份校验,在未登录且获知业务功能页面的访问地址前提下,直接访问未授权的页面、目录或资源,获取系统中的敏感信息或进行非法操作
六 存在垂直越权漏洞(高危)
例如:
拦截获取日志信息的数据包,我们只需要将请求的接口路径、接口参数等数据包拼接进入普通用户的数据包中即可垂直越权,也就是普通用户可以通过路径访问运营管理人员的数据,可以查看后台管理员信息
七 存在任意文件上传
文件上传漏洞是指 Web 服务器允许用户将文件上传至其文件系统,但这些文件可能并没有经过充分的验证,如文件名称、类型、内容或大小等。未能正确执行这些限制就意味着即使最基本的图像上传功能也可能用于上传任意具有潜在危险的文件,里面甚至包括远程代码执行的服务器端脚本文件
例如:
没有后缀限制,可以上传任意文件传脚本文件,上传html文件等:
此问题修复意见
-
根据允许扩展名的白名单而不是禁止扩展名的黑名单来检查文件扩展名,猜测希望允许哪些扩展比猜测攻击者可能尝试上传哪些扩展要容易的多。
-
确保文件名不包含任何可能被解释为目录或遍历序列(../)的子字符串。
-
重命名上传的文件以避免可能导致现有文件被覆盖的冲突。
-
在完全验证之前不要将文件上传到服务器的文件系统中。
-
尽可能使用已建立的框架来预处理文件上传,而不是尝试编写自己的验证机制。