极度危险而常见的网站安全漏洞
来源:互联网 发布:单片机开发板套件 编辑:程序博客网 时间:2024/04/29 15:19
最近处理了公司外网项目的两个安全漏洞,很常见,也很危险。
一、反射型跨站脚本漏洞
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注入,最近修补了这两个漏洞,才发觉局域网项目和互联网项目还是有很多差别的,很多安全问题需要考虑。
慢慢来吧。
2 0
- 极度危险而常见的网站安全漏洞
- 极度危险而常见的网站安全漏洞
- 网站常见安全漏洞概述
- ASP 常见的安全漏洞
- ASP常见的安全漏洞
- 常见的WEB安全漏洞
- 常见的WEB安全漏洞
- 需要你了解的二十个最危险的安全漏洞
- 关于安全漏洞的一个网站?
- 常见安全漏洞
- 识别常见的Web应用安全漏洞
- PHP网站常见安全漏洞及防御方法【转】
- PHP网站常见安全漏洞,及相应防范措施总结
- PHP网站常见安全漏洞,及相应防范措施总结
- 网站安全漏洞的产生分析、处理总结
- 不要在构造器里调用可能被重载的虚方法,这是极度危险的
- Java开发中常见的危险信号
- Java开发中常见的危险信号
- ubuntu12.04 LTS 使用锐捷客户端上网 (HUST)
- Codeforces Round #279 (Div. 2) F. Treeland Tour(lis+dfs)
- 学习笔记(6)
- Windows渗透与提权:技巧总结篇
- Linux文件预读对系统的影响
- 极度危险而常见的网站安全漏洞
- 第十三周项目4-数组的排序(二)字符数组排序
- 经典证明:任意三角形都能被分成n≥4个等腰三角形
- mysql 数据库状态检查
- Linux内核协议栈对于timewait状态的处理
- kubuntu与ubuntu切换
- NDK--141125
- iOS之美:如何优化UITableView的性能
- 使用调用者权限实现Schema导向操作