`
wbj0110
  • 浏览: 1602923 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
阅读更多

一、网络安全

机密性(加密)、完整性(防伪造)、来源可靠性(签名)

程序漏洞

二、web前端安全

XSS:Cross Site Script(跨站攻击脚本)

往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行。

XSS的种类:

1.XSS-基于DOM的XSS

产生原因:当web page含有一些不受服务器端控制的DOM的时候发生,通过form、referer、location修改页面DOM。

解决方法:避免客户端的脚本对DOM的重写、重定向及其它敏感的操作,需要在客户端对form输入进行过滤。

可被攻击者利用的脚本:

URL相关操作

document.location=…
document.location.hostname=…
document.location.replace(…)
document.location.assign(…)
document.URL=…
document.referrer
document.URLUnencoded
window.navigate(…)
window.location

直接运行脚本

eval(…)
window.execScript(…)
window.setInterval(…)
window.setTimeout(…)

直接写入html代码

document.write(…)
document.writeln(…)
document.body.innerHtml=…

直接修改DOM

document.forms[0].action=…
document.attachEvent(…)
document.create…(…)
document.execCommand(…)
document.body
window.attachEvent(…)

打开或修改窗口

document.open(…)
window.open(…)
window.location.href=…

2.XSS-非持久性跨站

产生原因:直接将form或者query(cookie)中的字符带入到页面中,危险query字符参与html的构成(query字符并不被存储)。

解决方法:对输入进行过滤,对输出进行编码。

3.XSS-持久性跨站

产生原因:其破坏页面html结构的原理和非持久XSS一样,只是危险脚本来源不是query字符,而是数据库数据。

解决办法:对输入进行过滤,对输出进行编码。

4.XSS-基于字符集的跨站

产生原因:页面字符集不固定,用户输入非期望字符集的字符,有时会绕过前端的过滤。

解决办法:Web页面一定要指定字符集(GBK),XML中不仅要指定字符集,而且标签要闭合。

5.XSS-基于flash的跨站

产生原因:As脚本可以接受用户输入并操作cookie,攻击者可以配合其他XSS方法将恶意swf文件嵌入页面中。

解决办法:严格管理cookie的读写权限,对flash能接受的用户输入进行过滤和限定。

6.XSS- Self-inflicted XSS

产生原因:攻击者先把页面搞出漏洞,让其他用户再浏览这个有漏洞的页面的时候遭受攻击。这里已经不是严格意义上的XSS了。

解决方法:页面登录超时。

7.XSS-未经验证的跳转构成的跨站

产生原因:如果服务器端做302跳转,跳转的地址来自用户的输入,攻击者可以输入一个恶意的跳转地址来执行脚本。
解决方法:在后端来限定所接收的URL来自淘宝并做过滤。

8.XSS-Cookie构成的跨站

产生原因:破坏页面结构的原理和非持久跨站一致,Js或as可操作cookie,通过cookies提交query。

解决办法:一切来自客户端的cookie是不可信的,后端必须对客户端cookie做验证。

9.XSS- Escape-based XSS

产生原因:其破坏页面语义构成的原理和非持久XSS一致,使用畸形的UTF8字符串拼成URL。

解决方法:对输入进行过滤,对输出进行编码。

CSRF:Cross Site Request Forgery(通过肉鸡)(跨站伪造请求)

CSRF的发生:所有需要登录页面中的交互、表单提交、AJAX

CSRF的防范:临时签名(验证码、时间戳)、crumb

淘宝对CSRF的防范:在表单中指定token;

<input type=”hidden” value=”{$token}” name=”_tb_token_”>

在cookie中指定_tb_token_;尽量使用POST方法;Ajax时附带token。

 三、Javascript安全须知

  1. 禁止使用外部引用的js,外链应当完全使用a.tbcdn.cn上的资源文件
  2. 慎用eval,setTimeout,setInterval和从不可信站点获取的字符串操作的函数。
  3. cookies操作一定要征询后端工程师的意见,避免撑破cookies的大小限制了。
  4. 前端代码禁止获取referer,所有referer的操作由后端工程师处理。
  5. 禁止发送页面相关信息到第三方站点
  6. 如果JSON返回的信息里含有用户的私密信息,需要加_tb_token_
  7. 禁止使用script标签来达到跨域访问的目的,应当使用flash实现跨域访问,可信域之间的跨域可以使用iframe
  8. 所有使用的数据必须经过服务端的验证。
  9. js代码需要经过jslint的测试

我们还需要安全规范

页面级的html规范/标准

  • 统一的编码标准(URL/GBK/js unicode)
  • 标签完整性

代码级的coding规范

  • 统一的ajax接口规格
  • 页面中php/jsp和js代码的参数传递
  • 规范的javascript编写习惯

代码review制度

分享到:
评论

相关推荐

    PHP实例开发源码-微信淘宝客金钻版 php版.zip

    8. **文件处理**:`使用须知.txt`可能包含了项目使用、部署或版权信息,而`132692237308532255`可能是一个数据库文件或者配置文件,包含项目运行所需的特定数据。 9. **版本控制**:虽然未直接提及,但良好的开发...

    PHP实例开发源码-php最新淘宝客返利网整站源码.zip

    开发者需要熟练掌握SQL语言,进行数据的增删改查操作,确保数据的准确性和安全性。 前端界面设计通常采用HTML、CSS和JavaScript技术,结合PHP生成动态内容。Bootstrap、jQuery等库可能被用于提升用户体验和响应式...

    PHP实例开发源码—淘宝内部优惠券广告展示系统 php版.zip

    在“使用须知.txt”中,开发者可能提供了关于如何安装、配置和运行该系统的具体指导,包括环境需求、数据库配置步骤、运行命令等。而“132678314023467420”可能是某种文件,如数据库备份文件,或者系统初始化时需要...

    PHP实例开发源码-精仿淘客泡泡淘宝客源码 php版.zip

    5. **安全措施**:考虑到用户数据的安全,源码应包含防止SQL注入、XSS攻击等的安全防护措施。 6. **前端技术**:HTML、CSS和JavaScript用于构建用户界面,可能使用Bootstrap、jQuery或其他前端框架提高开发效率和...

    PHP实例开发源码-php 电视直播带淘宝客聚合搜索版.zip

    7. 安全性:如何保护用户数据,防止SQL注入、XSS攻击等常见的Web安全问题。 8. 版本控制:项目可能使用Git进行版本控制,了解基本的Git命令和工作流程。 9. 开发工具:如IDE(如PHPStorm)、代码编辑器、调试器的...

    PHP实例开发源码—淘宝导购网.zip

    8. **安全实践**:防止SQL注入、XSS攻击等常见的Web安全问题,学习如何对用户输入进行验证和过滤。 9. **前端技术集成**:可能涉及到HTML、CSS和JavaScript的使用,实现页面布局和动态效果。 10. **HTTP协议**:理解...

    PHP实例开发源码-蜘蛛侠淘宝客网站源码 php版.zip

    9. **文件管理**:"使用须知.txt"可能是提供给用户关于如何部署和运行源码的指南,而"132692885251939890"可能是数据库配置文件或其他重要资源。 在学习和使用这些源码时,开发者需要逐步解析每个文件,理解它们的...

    PHP实例开发源码-鱼福CMS淘客导购系统.zip

    总的来说,鱼福CMS淘客导购系统是一个集成了多种PHP技术和电商运营策略的平台,不仅涉及到前端的用户体验设计,还包括后端的数据处理、API交互以及安全防护等多个层面。学习和分析这个源码,对于提升PHP开发者在Web...

    PHP实例开发源码-dede小清新淘客源码 php版.zip

    7. **安全措施**:防止SQL注入、XSS攻击等,确保用户数据的安全。 8. **会话管理**:使用session或cookie来跟踪用户状态,提供个性化的购物体验。 9. **错误处理与日志记录**:良好的错误处理机制可以快速定位并...

    PHP实例开发源码—DSmall多商户B2B2C开源商城源码.zip

    这种模式允许多个商家在同一个平台上开设店铺,直接面向消费者销售商品,类似于淘宝或京东等大型电商平台。 【描述】"PHP实例开发源码—DSmall多商户B2B2C开源商城源码.zip" 指出这是一个开源项目,意味着其代码...

    PHP实例开发源码—淘客帝国免费版.zip

    从"使用须知.txt"来看,这个文件很可能提供了关于如何安装、配置和使用这套源码的重要信息。通常,这种文档会包含环境要求(如PHP版本、服务器环境等)、数据库连接设置、文件权限设置以及运行和调试的步骤。在实际...

Global site tag (gtag.js) - Google Analytics