词条 | AJAX安全技术 |
释义 | 《AJAX安全技术》是一本为专业人士提供预防Ajax安全漏洞一手实践的入门指导书。由美国(BillyHoffmanBryanSullivan)霍夫曼所著,中国电子工业出版社2009年出版。 版权信息书 名: AJAX安全技术 作 者:(美国)(BillyHoffmanBryanSullivan)霍夫曼 出版社: 电子工业出版社 出版时间: 2009 ISBN: 9787121079306 开本: 16 定价: 55.00 元 内容简介众所周知,Ajax具备变革互联网的潜力,但危险的新安全威胁同样随之而来。《AJAX安全技术》揭示Ajax框架与生俱来的安全弱点密集区域,为开发人员创造安全应用提供指导。每一章由一个Ajax安全谬误开始,随后即将其揭穿。通读《AJAX安全技术》你将看到很多用于阐述关键知识点的真实Ajax安全漏洞案例。在书中还讲到保护Ajax应用的特殊方法,包括每种主要Web编程语言(.NET、Java和PHP)及流行新语言RubyonRails。 《AJAX安全技术》一书对AJAX安全这一未开发领域进行了非常严谨、彻底的探讨。每个AJAX工程师都应该去掌握《AJAX安全技术》中的知识——至少应该明白其中的原理。 《AJAX安全技术》适合广大基于AJAX开发Web程序的开发人员参考学习,同时也可作为高等院校相关专业师生的参考用书。 作者简介JesseJamesGarrett——AdaptivePATH公司主席及创始人。 BillyHoffman是惠普安全实验室的首席安全研究员,专注于如何自动发掘Web应用程序中的漏洞。他经常在BlackHat、RSA、Toorcon、Shmoocon、Infosec及AJAXWorld等会议上发表演讲,也曾受到过FBI的邀请进行演讲。 编辑推荐一本防范AJAX安全漏洞的实用指南。 如今,越来越多的网站都被改写成AJAX应用程序,甚至传统的桌面软件也通过AJAX,迅速转向了Web领域。但是在这个过程中,人们通常都没有考虑到安全的问题。如果不恰当地设计、编写了AJAX应用程序,那么它们会比传统桌面程序存在更多的安全漏洞。AJAX开发人员无时无刻都希望有一本指南,能够指导他们如何来保护自己的应用程序——他们终于等到了这一天。 《AJAX安全技术》-书,系统地分析了当今最危险的AJAX漏洞用现实中的代码阐述了大量关键性的安全理念,并对实际中的案例,例如MySpace的Samy蠕虫病毒,进行了详尽分析。更重要的是,不管你使用何种主流的Web编程语言和环境,例如 NET、Java或PHP,《AJAX安全技术》都给出了许多具体、前沿的建议。通过《AJAX安全技术》你将了解到以下几点: 如何刚氐AJAX特有的安全风险,包括过度细分的Web服务、应用程序控制流程篡改以及对程序逻辑的操控。 如何预防针对AJAX的攻击手段,包括JavaScript劫持、持久化存储窃取以及对mashup程序的渗透。 如何避免基于XSS和SQL注入的攻击,包括由AJAX衍生出来的SQL注入攻击(只需要两次请求就可以暴露整个后台数据库)。 如何使用GoogleGears和Doj0开发安全的离线AJAX应用程序。 如何发现Prototype、DWR及ASRNETAJAX等AJAX框架中的安全问题以及我们自己仍需实现哪些功能。 如何更安全地编写AJAX代码,如何确定并修改已有代码中的安全缺陷。 不管是编写或者维护AJAX应用程序的开发人员、架构师,还是打算或正在设计新AJAX程序的项目经理,以及包括QA和渗透测试人员在内的所有软件安全人士,(AJAX安全技术》书都是必不可少的。 目录第1章AJAX安全介绍1 1.1AJAX基础知识2 1.1.1什么是AJAX2 1.1.2动态HTML(DHTML)10 1.2AJAX架构(Architecture)的转变过程11 1.2.1胖客户端架构11 1.2.2瘦客户端架构12 1.2.3AJAX:最适合的架构14 1.2.4从安全角度看胖客户端应用程序15 1.2.5从安全角度看瘦客户端应用程序15 1.2.6从安全角度看AJAX架构17 1.3一场完美的攻击风暴17 1.3.1不断增加的复杂度、透明度及代码量18 1.3.2社会学问题20 1.3.3AJAX应用程序:富有吸引力的、战略上的目标21 1.4本章小结22 第2章劫持23 2.1攻击24 2.1.1攻击票务系统24 2.1.2攻击客户端数据绑定30 2.1.3攻击AJAXAPI34 2.2黑夜中的盗窃39 第3章Web攻击41 3.1基本攻击分类41 3.1.1资源枚举41 3.1.2参数操纵45 3.2其他攻击66 3.2.1跨站请求伪造攻击66 3.2.2钓鱼攻击68 3.2.3拒绝服务(Denial-of-Service,DoS)68 3.3保护Web应用程序免受资源枚举和参数操作的攻击69 3.4本章小结70 第4章AJAX攻击层面71 4.1什么是攻击层面71 4.2传统Web应用程序的攻击层面72 4.2.1表单输入73 4.2.2cookie74 4.2.3报头75 4.2.4隐藏的表单输入75 4.2.5请求参数76 4.2.6上传文件78 4.3传统的Web应用程序攻击:一份成绩单79 4.4Web服务的攻击层面81 4.4.1Web服务的方法81 4.4.2Web服务的定义82 4.5AJAX应用程序的攻击层面83 4.5.1AJAX应用程序攻击层面的来源84 4.5.2黑客的最爱86 4.6正确的输入验证86 4.6.1有关黑名单及其他补丁的问题87 4.6.2治标不治本90 4.6.3白名单输入验证93 4.6.4正则表达式96 4.6.5关于输入验证的其他想法96 4.7验证富客户端的用户输入98 4.7.1验证标记语言98 4.7.2验证二进制文件100 4.7.3验证JavaScript源代码100 4.7.4验证序列化数据106 4.8关于由用户提供的内容109 4.9本章小结110 第5章AJAX代码的复杂性111 5.1多种语言和架构111 5.1.1数组索引112 5.1.2字符串操作113 5.1.3代码注释115 5.1.4事不关己,高高挂起115 5.2JavaScript的怪异之处117 5.2.1解释,而不是编译117 5.2.2弱类型118 5.3异步性120 5.3.1竞争条件120 5.3.2死锁及哲学家用餐问题124 5.3.3客户端同步化127 5.3.4留意你所采纳的建议128 5.4本章小结129 第6章AJAX应用程序的透明度131 6.1黑盒对白盒131 6.1.1示例:133 6.1.2示例:用AJAX实现的135 6.1.3对比结果139 6.2像API一样的Web应用程序140 6.3一些特殊的安全错误141 6.3.1不恰当的身份认证141 6.3.2过度细化服务端API143 6.3.3在JavaScript中存储会话状态146 6.3.4与用户相关的敏感数据147 6.3.5包含在客户端的注释及文档148 6.3.6在客户端进行的数据转换149 6.4通过隐藏来保证安全152 6.5本章小结154 第7章劫持AJAX应用程序155 7.1劫持AJAX框架155 7.1.1意外的方法冲突156 7.1.2人为的方法冲突158 7.2劫持“即时”的AJAX163 7.3劫持JSONAPI167 7.3.1劫持对象定义172 7.3.2JSON劫持的根源173 7.3.3如何防范JSON劫持173 7.4本章小结176 第8章攻击客户端存储179 8.1客户端存储系统概述179 8.2HTTPcookies181 8.2.1cookie访问控制规则183 8.2.2HTTPcookie的存储能力188 8.2.3cookie的生命期191 8.2.4cookie存储的其他安全问题192 8.2.5cookie存储总结193 8.3Flash本地共享对象194 8.4DOM存储201 8.4.1会话存储202 8.4.2全局存储204 8.4.3DOM存储的细节讨论205 8.4.4DOM存储安全207 8.4.5DOM存储总结208 8.5InternetExploreruserData209 8.6一般客户端存储的攻击和防范方法214 8.6.1跨域攻击214 8.6.2跨目录攻击215 8.6.3跨端口攻击216 8.7本章小结216 第9章离线AJAX应用程序219 9.1离线AJAX应用程序219 9.2GoogleGears220 9.2.1GoogleGears内置的安全特性及其缺点221 9.2.2探索工作者池224 9.2.3泄露并篡改本地服务器(LocalServer)中的数据226 9.2.4直接访问GoogleGears数据库229 9.2.5SQL注入和GoogleGears230 9.2.6客户端SQL注入有多危险234 9.3Dojo.Offline236 9.3.1保证密钥安全237 9.3.2保证数据安全238 9.3.3可作为密钥的良好密码239 9.4再论客户端输入验证240 9.5创建离线应用程序的其他方式241 9.6本章小结242 第10章请求来源问题243 10.1Robots、Spiders、Browsers及其他网络爬虫243 10.2请求来源不确定性和JavaScript245 10.2.1从Web服务器的角度看AJAX请求246 10.2.2是你自己,还是貌似你的某人249 10.2.3使用JavaScript发送HTTP请求251 10.2.4在AJAX出现之前的JavaScriptHTTP攻击252 10.2.5通过XMLHttpRequest窃取其他内容254 10.2.6实战结合XSS/XHR进行攻击258 10.3防范措施260 10.4本章小结261 第11章WebMashup和聚合程序263 11.1互联网上计算机可以使用的数据263 11.1.120世纪90年代早期:人类Web的黎明263 11.1.220世纪90年代中期:机器Web的诞生264 11.1.32000年左右:机器Web逐渐成熟266 11.1.4可公用的Web服务266 11.2Mashup:Web中的弗兰肯斯坦268 11.2.1269 11.2.270 11.2.3其他的Mashup应用程序270 11.3创建Mashup应用程序271 11.4桥接、代理及网关274 11.5攻击AJAX代理275 11.6Mashup程序中的输入验证279 11.7聚合网站282 11.8安全性和可信度的降低287 11.9本章小结290 第12章攻击表现层291 12.1从内容信息中分离表现信息291 12.2攻击表现层294 12.3对级联样式表的数据挖掘295 12.4外观篡改297 12.5嵌入程序逻辑305 12.6目标级联样式表306 12.7防范表现层攻击311 12.8本章小结312 第13章JavaScript蠕虫313 13.1JavaScript蠕虫概述313 13.1.1传统的计算机病毒314 13.1.2JavaScript蠕虫316 13.2创建JavaScript蠕虫318 13.2.1JavaScript的局限性319 13.2.2传播JavaScript蠕虫320 13.2.3JavaScript蠕虫携带的恶意代码320 13.2.4JavaScript中的信息窃取321 13.3关于内网322 13.3.1窃取浏览器历史记录326 13.3.2窃取搜索引擎的查询结果327 13.3.3总结328 13.4案例学习:Samy蠕虫329 13.4.1工作原理330 13.4.2病毒携带的程序333 13.4.3关于Samy蠕虫的结论334 13.5案例学习:Yamanner蠕虫(JS/Yamanner-A)336 13.5.1工作原理337 13.5.2病毒携带的程序339 13.5.3关于Yamanner蠕虫的结论340 13.6从实际JavaScript蠕虫中能学到的经验342 13.7本章小结343 第14章测试AJAX应用程序345 14.1黑魔法345 14.2并不是所有人都使用浏览器来查看网页349 14.3两手都要抓,两手都要硬351 14.4安全测试工具352 14.4.1生成网站目录353 14.4.2漏洞检测354 14.4.3分析工具:Sprajax356 14.4.4分析工具:ParosProxy357 14.4.5分析工具:LAPSE(Eclipse中轻量级的程序安全分析工具)359 14.4.6分析工具:WebInspectTM360 14.5其他一些关于安全测试的想法361 第15章AJAX框架分析363 15.1ASP .NET363 15.1.1ASP .NETAJAX(以前被称为Atlas)363 15.1.2ScriptService367 15.1.3安全缺点:UpdatePanel对ScriptService368 15.1.4ASP .NET和WSDL369 15.1.5ValidateRequest373 15.1.6ViewStateUserKey374 15.1.7ASP .NET配置和调试375 15.2PHP376 15.2.1Sajax376 15.2.2Sajax和跨站请求伪造378 15.3JavaEE380 15.4JavaScript框架382 15.4.1对客户端代码的一个警告383 15.4.2Prototype383 15.5本章小结385 附录ASamy蠕虫源代码387 附录BYamanner蠕虫源代码397 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。