
Java
超越自身权限。不同权限账户存在越权访问情况。增强对用户权限的验证。 注意:常通过不同权限用户间链接访问、cookie、修改id等方式。二、采用明文传输。系统对用户口令保护欠佳,攻击者能借助攻击工具,通过网络窃取合法用户的口令数据。传输密码时务必进行加密。所有密码需加密,要采用复杂加密方式,不能用base64或md5。三、SQL注入。攻击者借助sql注入漏洞,能获取数据库诸多信息,像管理后台密码等,进而窃取数据库内容(脱库)。通过黑白名单方式对输入参数进行过滤、校验。系统内所有参数都要被过滤、校验覆盖。4. 跨站脚本攻击。输入信息未校验,攻击者能以巧妙手段将恶意指令代码注入网页。这些代码多为
JavaScript,不过
Java、VBScript、ActiveX、Flash或者普通HTML也可能被包含在内。一旦攻击得手,攻击者便可获取更高权限。对用户输入过滤校验,输出采用HTML实体编码。注意:对所有参数进行过滤、校验、HTML实体编码。5. 存在文件上传漏洞。文件上传无限制,可执行文件或脚本文件或许会被上传,进而使
服务器沦陷。严格校验上传文件,杜绝asp、aspx、asa、
php、
JSp等危险脚本被上传。此外,最好增加文件头校验,避免用户上传非法文件。6、后台地址被泄露。后台地址太过简单,这给攻击者攻击后台创造了方便条件。把后台地址链接修改一下,使其复杂些。7、存在敏感信息泄露情况。系统出现内部信息暴露的情况,像网站绝对路径、网页源代码、SQL语句、中间件版本、程序异常信息等。对用户输入的异常字符进行过滤,屏蔽如自定义404、403、500等错误回显。8. 存在命令执行漏洞。脚本程序调用像
php中的system、exec、shell_exec之类的函数。打补丁,严格限制系统内需要执行的命令。9. 存在目录遍历漏洞。暴露开发语言、站点结构等目录信息。对相关配置进行修改。10、会话重放攻击。数据包重复提交。添加token验证、时间戳或者图片验证码。11、跨站请求伪造(CSRF)。利用已登录用户,在其毫无察觉时执行某动作的攻击。添加token验证、时间戳或者图片验证码。12. 任意文件可被包含、任意文件能下载。任意文件包含方面,系统未合理校验传入文件名,导致操作了预期外文件。任意文件下载时,系统虽有下载功能,但没限制下载文件名。限制用户提交的文件名,防范恶意的文件读取与下载。13、存在设计缺陷或逻辑错误。程序靠逻辑实现多种功能,但很多时候逻辑功能会有漏洞,像程序员安全意识不足、考虑不周到等情况。强化程序设计并提升逻辑判断能力。14.
XML实体发生注入情况。若允许引用外部实体,构造恶意内容能造成读取任意文件、执行系统命令、探测内网端口等情况。利用开发语言的禁用外部实体方法,对用户提交的
XML数据进行过滤。15、检测有风险的无关服务与端口。检测有风险的无关服务与端口,这会给攻击者创造便利条件。前期仅开启80和数据库端口,关闭无用服务与端口,使用时再开放20或者21端口。16. 登录功能存在验证码漏洞。持续恶意地将一个有效的数据包反复发送给服务端,而服务端没有对用户提交的数据包进行有效限制。验证码于
服务器后端刷新,数据包每提交一次数据便刷新一次。17、存在风险的cookies。cookies可能存有用户名、密码等敏感信息。去掉cookies里的用户名和密码。
SSL是一种保障网络通信安全与数据完整性的安全协议,不过SSL会出现一些漏洞。OpenSSL版本需要进行升级。19. 关于SSRF漏洞。服务端存在请求伪造的情况。打补丁,或卸载无用包。20. 诸如默认口令、弱口令之类。默认口令、弱口令极易被人猜到。加强口令强度,勿使用弱口令。