web漏洞合集描述和修复建议

一、SQL注入漏洞

漏洞描述:

当Web应用程序未对用户输入的数据进行足够的安全处理(如危险字符过滤或者语句过滤),而直接拼接SQL语句执行时,攻击者可以精心构造参数值,使服务器执行非预期的SQL语句并返回结果,造成数据库信息泄露。利用SQL注入漏洞,攻击者可获取数据库的增、删、改、查权限,甚至执行系统命令,上传后门文件等。

加固建议:

针对SQL注入漏洞,需要对网站所有参数中提交的数据进行过滤,禁止输入"'"、"xor"、"or"、"--"、"#"、"select"、"and"等特殊字符;所有的查询语句都使用数据库提供的参数化查询接口,SQL语句使用参数化处理后的数据作为输入,而不是将用户输入变量嵌入到SQL语句中;严格限制网站用户对数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害;避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者收集这些错误信息进行判断进而执行SQL注入攻击。

二、框架注入漏洞

漏洞描述:

攻击者有可能注入含有恶意内容的 frame 或 iframe 标签。如果用户不够谨慎,就有可能浏览该标签所对应的页面,但意识不到自己会离开原始站点而进入恶意的站点。之后,攻击者便可以诱导用户再次登录,然后获取其登录凭证。

加固建议:

建议过滤以下所有字符:| & ; $ % @ ' " \' \" <> () + CR LF , \。

三、文件上传漏洞

漏洞描述:

验证上传文件的程序没有对上传文件作任何过滤,导致可以上传任意文件到服务器,甚至是病毒文件和木马文件。

加固建议:

对于上传的附件,验证程序要做严格验证,使用服务器端校验,而不能仅用前端javascript验证。

1.建议严格限制上传文件类型和上传文件名及后缀。

2.检查文件头和文件内容,对上传文件目录的运行权限进行严格限制。

3.及时排查、删除服务器木马文件。

四、SSRF(服务端请求伪造)

漏洞描述:

很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地的服务器,探测内网信息甚至内网入侵。

加固建议:

SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。建议对url参数值做严格的限制。

五、Unicode 转换漏洞

漏洞描述:

在Unicode在转换时,由于超长字节序列和错误格式引起子序列的安全问题。通过特殊的编码格式绕过程序对恶意字符的检测,可以用在SQL注入、XSS等。

加固建议:

1.升级Unicode版本至官方最新稳定版本http://www.unicode.org

2.Unicode转化UTF-8编码后,对转换后进行安全检测,对特殊字符过滤或进行安全编码后输出。

六、.idea工程目录信息泄露漏洞

漏洞描述:

.idea目录用来放置开发工程的一些配置文件,通常是.xml文件。其中workspace.xml里面存放一些开发者个人配置,比如开发路径、开发环境等。里面包含一些敏感信息。

加固建议:

生产环境中删除.idea目录及该目录下的文件,或配置网站服务器禁止访问.idea目录。

七、.git信息泄露

漏洞描述:

泄露网站敏感信息,攻击者可直接获取源码信息实施进一步攻击。

加固建议:

删除.git目录。

八、SVN源代码泄露

漏洞描述:

造成SVN源代码漏洞的主要原因是管理员操作不规范。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。

更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。

加固建议:

针对SVN信息泄露漏洞,建议删除WEB目录里的SVN文件或限制访问.svn目录,并升级SVN软件至1.7或以上更高版本

九、Java代码反编译风险

漏洞描述:

可通过反编译工具获取java源代码,攻击者可获取源码信息执行更深入的渗透攻击。

加固建议:

1.隔离Java程序;

2.对Class文件进行加密;

3.代码混淆。

十、短信轰炸漏洞

漏洞描述:

短信轰炸是由于系统设计缺陷可无限制发送短信验证码给客户端,攻击者可利用该漏洞对任意手机号码进行短信轰炸,对公司造成不良影响和运行安全风险。

加固建议:

建议针对发送短信验证码接口加强权限控制,在服务端限制单位时间内发送短信次数。

软件开发:敏捷开发模式,无论是产品还是运营都要懂

本文笔者将从软件工程的角度来聊一聊敏捷开发模式,会涉及瀑布。V字、RUP、迭代、螺旋等开发模型,同时重点分享下敏捷模式的核心思想。

JavaScript、PHP、Golang、Haskell、Elixir,哪个才是最佳编程语言?

函数式编程:你可能知道,刚开始的时候 JavaScript 是“一种类似于 Scheme 的浏览器编程语言,只不过使用的是 Java 语法。”生

web漏洞合集描述和修复建议

一、SQL注入漏洞漏洞描述:当Web应用程序未对用户输入的数据进行足够的安全处理(如危险字符过滤或者语句过滤),而直接拼接SQL语句执行时,攻击

如何用 Nginx 代理 MySQL 连接,并限制可访问 IP?

现阶段,对于一个互联网公司来讲,其生产环境基本上都是在云服务器上,例如常用的一些应用服务器、数据库服务器等等。但是在我们部署引用的时候,如果直接

Nginx实现原理及架构解析

当下Nginx的应用非常广泛,本文介绍了Nginx的特点及使用场景、Nginx的进程模型和请求处理流程,并结合不同场景进行配置,使读者对Ngin