首页 > 代码库 > 极度危险而常见的网站安全漏洞
极度危险而常见的网站安全漏洞
最近处理了公司外网项目的两个安全漏洞,很常见,也很危险。
一、反射型跨站脚本漏洞
http://***.com/xss/message.jsp?send=Hello,World!
输出内容:Hello,World!
此程序功能为提取参数中的数据并插入到页面加载后的HTML代码中,这是XSS漏洞的一个明显特征;
如果此程序没有经过过滤等安全措施,则它将会很容易受到攻击。
下面我们一起来看如何实施攻击。在原程序的URL的参数替换为我们用来测试的代码:
http://www.***.com /xss/message.jsp?send=<script>alert(‘xss’)</script>
页面输出内容则为:<script>alert(‘xss’)</script>
当用户在用户浏览器打开的时,将会弹出提示消息。
如果用户之前已经正常登录到Web系统,并得到一个会话信息的cookie,再打开黑客嵌入非法脚本的页面,那么黑客基本上就可以通过cookie信息劫持用户会话来为所欲为了。
解决方案:
1、不要信任用户的任何输入,做校验,如果条件允许,尽量采用白名单技术来验证输入参数;
2、是输出的时候对用户提供的内容进行转义处理。
二、URL重定向漏洞
举例说明:
如单点登录,登录后跳转回原来的页面
正常应该如下,
http://www.****.org/login.php?jumpto=http://www.正常网站.com
这时,修改为如下
http://www.****.org/login.php?jumpto=http://www.恶意网站.com
那么登录验证成功后,就会跳转到恶意网站,危害可想而知。
解决方案:
1. 对用户的输入做校验;
2. 采用间接方式对重定向到第三方网站传参改用post
3. 对一些网站可采用白名单的方式,对跳转的域名做可信判断
4、为保证所有生成的链接都是来自于我们可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用,但是如果功能本身要求比较开放,可能导致有一定的限制。
最后说两个工具,可以扫描出一些漏洞:IBM Rational AppScan、Acunetix Web Vulnerability Scanner如何使用,就自己百度吧。
以前做网站,很少关注安全层面的东西,注意最多的就是sql注入,最近修补了这两个漏洞,才发觉局域网项目和互联网项目还是有很多差别的,很多安全问题需要考虑。
慢慢来吧。
一、反射型跨站脚本漏洞
漏洞风险:
可以在嵌入攻击脚本,一旦在用户浏览器中加载页面,就会执行此脚本。可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。
举例说明:
通过程序参数输出传递的参数到HTML页面,则打开下面的网址将会返回一个消息提示:http://***.com/xss/message.jsp?send=Hello,World!
输出内容:Hello,World!
此程序功能为提取参数中的数据并插入到页面加载后的HTML代码中,这是XSS漏洞的一个明显特征;
如果此程序没有经过过滤等安全措施,则它将会很容易受到攻击。
下面我们一起来看如何实施攻击。在原程序的URL的参数替换为我们用来测试的代码:
http://www.***.com /xss/message.jsp?send=<script>alert(‘xss’)</script>
页面输出内容则为:<script>alert(‘xss’)</script>
当用户在用户浏览器打开的时,将会弹出提示消息。
如果用户之前已经正常登录到Web系统,并得到一个会话信息的cookie,再打开黑客嵌入非法脚本的页面,那么黑客基本上就可以通过cookie信息劫持用户会话来为所欲为了。
解决方案:
1、不要信任用户的任何输入,做校验,如果条件允许,尽量采用白名单技术来验证输入参数;
2、是输出的时候对用户提供的内容进行转义处理。
二、URL重定向漏洞
漏洞风险:
通过构建URL,攻击者可以使用户重定向到任意URL,利用这个漏洞可以诱使用户访问某个页面,挂马、密码记录、下载任意文件等。
举例说明:
如单点登录,登录后跳转回原来的页面
正常应该如下,
http://www.****.org/login.php?jumpto=http://www.正常网站.com
这时,修改为如下
http://www.****.org/login.php?jumpto=http://www.恶意网站.com
那么登录验证成功后,就会跳转到恶意网站,危害可想而知。
解决方案:
1. 对用户的输入做校验;
2. 采用间接方式对重定向到第三方网站传参改用post
3. 对一些网站可采用白名单的方式,对跳转的域名做可信判断
4、为保证所有生成的链接都是来自于我们可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用,但是如果功能本身要求比较开放,可能导致有一定的限制。
最后说两个工具,可以扫描出一些漏洞:IBM Rational AppScan、Acunetix Web Vulnerability Scanner如何使用,就自己百度吧。
以前做网站,很少关注安全层面的东西,注意最多的就是sql注入,最近修补了这两个漏洞,才发觉局域网项目和互联网项目还是有很多差别的,很多安全问题需要考虑。
慢慢来吧。
极度危险而常见的网站安全漏洞
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。