读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检索和显示那些文档,但这些信息只是由服务器单向传送给浏览器,并不需要验证用户的合法性,所有用户同等,提供同样的信息. 所以当时一个Web站点的安全威胁主要来自于Web服务器系统与相关软件的(诸多)漏洞.攻击者入侵站点后并不能得到敏感信息,至多修改一下服务器上的静态文件,歪曲站点的内容,或者利用服务器本…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注,而随书附带有答案. 1. 为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制? 典型的应用程序使用三重机制(身份验证.会话管理和访问控制)来处理访问.这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制并访问他机制的效率.例如,攻击者可以利用身份验证机制中的漏洞以任何用户…
DVWA是一个学习Web漏洞的很好的工具. DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/content/13/0614/22/11029609_292922372.shtml 下载地址:http://www.dvwa.co.uk/ 安装教程:http://www.cnblogs.com/yaochc/p/5049832.html 声明:下面的示例都是在DVWA Security为Low时发生…
扫描工具.中间攻击工具.加密解密工具等. 1 TM Thread Module 2 burpsuite 代理.中间攻击.repeatur.spider.暴力破解(intrude).加密.解密.扫描器 3 peach Fuzzing测试,API Fuzzing测试和协议Fuzzing测试. 4 DVWA php写的漏洞学习的工具,可以运行起来测试. 安装教程: 1 直接下载WampServer,免去了需要安装apache/php/mysql的服务器软件的痛苦,一体集成,相当于安装了httpd.PH…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果不采用特殊的防御措施,为什么栈缓冲区溢出比堆溢出更容易被攻击者利用? 利用基于栈的溢出,通常可以立即控制栈上的已保存返回地址,并因此控制当前功能返回的指令指针.可以将指令指针指向包含 shellcode 的任意地址(通常位于触发溢出的同一缓冲区内).利用基于堆的溢出,通常可以将内存中的任意指针设置为任意值.正常情况下,利用这种修改来控制执行流还需要采取其他步骤.此外,使堆缓冲区溢出后…
web攻击的手段无非就是使服务器资源耗尽,使服务器无法接收正常请求. 一.DDos攻击 二.DRDos攻击 三.慢攻击 与Ddos攻击相反,慢攻击并不是以多取胜,而是靠保持连接.…
在开展Web应用程序渗透测试之前请先了解下面列出的这些内容,如果不是很懂的话,请读David Gourley & Brian Totty的HTTP权威指南也叫HTTP:The Definitive Guide. 1 HTTP 1.1 HTTP请求 消息头和消息体 1.2 HTTP响应 消息头和消息体 1.3 HTTP方法 GET POST PUT Delete HEAD OPTIONS TRACE 1.4 URL 1.5 REST 1.6 HTTP消息头 1.7 cookie 1.8 状态码 4…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一个漏洞,可以在应用程序服务器上执行任意操作系统命令.是否可以利用这个漏洞获取保存在数据库中的敏感应用程序数据? 几乎可以肯定能够利用该漏洞获取保存在数据库中的应用程序数据.应用程序本身必须拥有访问自己的数据所需的证书和权限.可以检查服务器端应用程序的脚本和配置文件,以了解它如何访问应用程序.要对所发…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应用程序对该输入的响应中原样返回. 2. 假设在应用程序未通过验证的功能区域发现了一个反射型 XSS 漏洞.如何利用这个漏洞攻破一个通过验证的应用程序会话?请想出两种不同的方法. 多数情况下,利用未通过验证的功能中的 XSS 漏洞一样可以针对已通过验证的用户实施有效攻击——这些功能与已通过验证的功能的…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当解析一个应用程序时,会遇到以下 URL:https://wahh-app.com/CookieAuth.dll?GetLogon?curl=Z2Fdefault.aspx据此可以推论出服务器使用何种技术?该技术的运作方式可能是怎样的? 文件名 CookieAuth.dll 说明应用程序正使用 Microsoft ISA Server.这是登录功能的 URL,成功登录后,应用程序将重定向…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在什么情况下 Web 服务器会显示目录列表? 如果请求某目录的 URL 且满足以下条件,Web 服务器将显示目录列表:(a) Web 服务器找不到默认文档(如 index.html):(b) 目录列表已启用:(c) 具有访问目录所需的权限. 2. WebDAV 方法有什么作用?为什么说它们会造成危险? 使用 WebDAV 方法可以基于 Web 创作 Web 内容.如果未对这些方法实施严格…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当探查 SQL 注入漏洞时,如果请求以下 URL:https://wahh-app.com/list.aspx?artist=foo’+having+1=1--将收到如下错误消息:Server: Msg 170, Level 15, State 1, Line 1Line 1: Incorrect syntax near ‘having1’.从中可以得出什么结论?应用程序中包含任何可被利…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 已知一项应用程序功能将一个查询字符串参数的内容插入到某个 HTTP 重定向的 Location 消息头中.利用这种行为,攻击者可以实施哪 3 种不同类型的攻击? (a) 任何重定向都会增加钓鱼攻击的可信度:(b) 注入 cookie 消息头以利用会话固定漏洞:(c) 通过响应分割攻击来毒害代理服务器的缓存. 2. 要针对应用程序的一项敏感功能实施 CSRF 攻击,必须满足什么前提条件?…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实现的功能,如用于重新启动设备.循环访问日志文件或重新配置 SNMP 的功能.通常,使用一行操作系统命令可以轻松执行这些任务.因此,许多时候,应用程序开发者通过将相关用户输入直接合并到 shell 命令字符串中来实现…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 一个应用程序可能通过使用 HTTP Referer 消息头实施访问控制,但它的正常行为并没有公开表露这一点.如何检测出这种缺陷? 选择一系列你有权访问的重要应用程序功能.通过提交经过修改的 Referer消息头或不带该消息头的请求访问以上每一项功能.如果应用程序拒绝这些请求,则说明它很可能易于受到攻击.然后,尝试通过另一个不具有相关权限的用户提出相同的请求,但每次提交原始的 Refere…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在测试一个使用joe和pass证书登录的Web应用程序的过程中,在登录阶段,在拦截代理服务器上看到一个要求访问以下 URL 的请求:http://www.wahh-app.com/app?action=login&uname=joe&password=pass如果不再进行其他探测,可以确定哪 3 种漏洞? (a) 由于证书在该 URL 的查询字符串中传送,因此,这些证书将面临通过浏…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 通过客户端传送的数据如何阻止破坏性攻击? 可以使用保存在服务器上的密钥对数据进行加密或散列处理,就像选择性地使用ASP.NET ViewState 一样.除非攻击者以某种方式获得密钥,否则他们将无法加密任意数据,或计算出任意数据的有效散列.但是,攻击者仍然能够将一种情形中的数据用于另一种情形——例如,可以用廉价商品的加密价格替代昂贵商品的加密价格.为防止这种攻击,应用程序应在受保护的数据…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. OPTIONS 方法有什么作用? OPTIONS 方法要求服务器报告可用于特定资源的 HTTP 方法. 2. If-Modified-Since 和 If-None-Match 消息头的作用是什么?它们为何引起攻击者的兴趣? If-Modified-Since 消息头用于指定浏览器最后一次收到被请求的资源的时间.If-None-Match 消息头用于指定实体标签,在最后一次收到被请求的资…
随书答案. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受 到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实 现的功能,如用于重新启动设备.循环访问日志文件或重新配置 SNMP 的功能. 通常,使用一行操作系统命令可以轻松执行这些任务.因此,许多时候,应用程 序开发者通过将相关用户输入直接合并到 shell 命令字符串中来实现这些功能. 在测试以下 URL 时: http://wahh-app.com/home/s…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 列出 3 种可在源代码中找到明确签名的常见漏洞. (a) 跨站点脚本(b) SQL 注入(c) 路径遍历(d) 任意重定向(e) 操作系统命令注入(f) 后门密码(g) 某些本地代码漏洞 2. 当审查 PHP 应用程序时,为什么有时很难确定用户输入的所有来源? PHP 使用一系列内置数组来存在用户提交的数据.如果启用了register_globals,则 PHP 会为每个请求参数创建一个…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 指出使用自动技巧在应用程序中枚举标识符时用到的 3 个标识符“触点”. (a) HTTP 状态码(b) 响应长度(c) 响应主体的内容(d) Location 消息头的内容(e) 任何 cookie 的设置(f) 出现的任何时间延迟 2. 对于下面的每一类漏洞,指出一个可用于确定该漏洞的模糊测试字符串:(a) SQL 注入(b) OS 命令注入(c) 路径遍历(d) 脚本文件包含 这个问…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 何为强制浏览?可以通过它确定哪些漏洞? 强制浏览包括避开浏览器导航对应用程序功能访问顺序实施的任何限制.应使用强制浏览测试多阶段过程或其他区域中的错误假设.通常,这些假设会导致可以通过使用强制浏览加以利用的访问控制漏洞. 2. 为防止不同类型的攻击,应用程序对用户输入实施各种全局过滤.为防止 SQL注入,它将出现在用户输入中的单引号配对.为防止针对一些本地代码组件的缓冲区溢出攻击,它将超…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果要通过实施 UNION 攻击.利用 SQL 注入漏洞获取数据,但是并不知道最初的查询返回的列数,如何才能查明这个值? 可以通过两个简单的方法确定列数.其一,可以 SELECT 每个列中的类型中性值 NULL,并逐渐递增列数,直到应用程序返回数据,表明指定了正确的列数,例如:' UNION SELECT NULL--' UNION SELECT NULL, NULL--' UNION…
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 登录一个应用程序后,服务器建立以下 cookie:Set-cookie: sessid=amltMjM6MTI0MToxMTk0ODcwODYz;一个小时后,再次登录并得到以下 cookie:Set-cookie: sessid=amltMjM6MTI0MToxMTk0ODc1MTMy;通过这些 cookie,可以得出什么推论? sessid cookie 包含一个 Base64 编码的…
之前写了一篇为:golang web实战之一(beego,mvc postgresql) 听说iris更好: 1.  iris hello world package main import "github.com/kataras/iris" func main() { app := iris.New() app.Get("/", func(ctx iris.Context) { //ctx.HTML(`<p>hello world!</p>…
黑莓末路 昨晚听FM里谈到了RIM这家公司,有分析师认为它需要很悲催的裁员90%,才能保证活下去.这是一个意料之中,但又有点兔死狐悲的消息.可能在不久的将来,RIM这家公司就会走到尽头,或被收购,或申请破产保护. RIM的黑莓手机以在911事件中仍然能够保持通信而名声大振,在此后美国政府与很多商务人士都采购了黑莓手机,由此黑莓把重点放在了安全性上.很遗憾的是,成也萧何败也萧何,黑莓从此以后错误的判断了智能手机的未来,一直死盯着安全与商务功能不放,最终走到了今天的地步. RIM的问题很多,比如在软…
在线网站类: WebPageTest 说明: 在线的站点性能评测网站,地址http://www.webpagetest.org/ 补充: 其实这网站也是个开源项目,所以支持自己搭建一个内部的测试站点 ShowSlow 说明: showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的php项目,可以用来与firefox的yslow插件.page speed插件或者dynatrace通信,收集插件或程序所发送过来的信息并集中展示.只需要在dyn…
性能测试初体验 1.测试分类 从图中可以看出,性能测试在整个软件测试环节中占了50%的内容,比如负载测试.压力测试.性能测试.大数据量测试.恢复测试.内容泄露测试.竞品测试(比较测试)和可靠性测试. 2.性能测试流程 (1)业务学习:通过查看文档,手动操作系统来来了解系统性能: (2)需求分析:分析系统非功能需求,圈定性能测试的范围,了解系统的性能指标: (3)工作评估:工作量分解,评估工作量,计划资源投入: (4)设计模型:圈定性能测试范围后,把业务模型映射成测试模型: (5)计划编写:计划测…
本文链接:http://blog.csdn.net/kongxx/article/details/7525481 Apache CXF实战之一 Hello World Web Service 书接上文,下面看看CXF怎样和spring集成. 1.创建HelloWorld 接口类 package com.googlecode.garbagecan.cxfstudy.helloworld; import javax.jws.WebMethod; import javax.jws.WebParam;…
启动Elasticsearch和kibana 访问Elasticsearch:http://localhost:9200/?pretty 访问kibana:http://localhost:5601 elasticsearch外网IP无法访问 elasticsearch.yml增加:network.host: 0.0.0.0 重启问题解决 kibana外网IP无法访问 kibana.yml增加:server.host: "0.0.0.0" 重启问题解决 简单的集群管理 1.快速检查集群…