![]() |
![]() 图灵出版社
|
题目答案: 题目1答案: 这种行为表示错误消息功能的线程不安全,返回了任意用户上次生成的错误的详细信息。你应该同时使用两个不同的会话进行探查,以确认情况是否确实如此。如果是这样,你需要经常使用一段脚本触发一条内容全面的消息,并记录其中泄露的与其他应用程序用户有关的内容。 题目2答案: 攻击者必须提前确定函数的所有相关参数——也就是说,参数中不得包含任何秘密或无法预测的值(如果不能劫持受害者的会话,攻击者将无法设置这些值)。 题目3答案: 1)在对包含敏感数据的JSON对象的请求中包含一个无法预测的参数。 2)在JSON响应的开始部分插入无效或有问题的JavaScript。 3)必须使用POST方法获取JSON对象。 题目4答案: 几乎可以肯定,你能够利用这个漏洞获取保存在数据库中的应用程序数据。应用程序本身必须拥有访问它自己的数据所需的必要证书和权限。你可以检查服务器端应用程序的脚本和配置文件,看它如何访问应用程序。要利用你所发现的漏洞,其中一个简单的方法,是在Web root中创建一些新的脚本,以执行任意查询并使用浏览器检索查询结果。 题目5答案: 通常,定位同一台服务器上的所有应用程序组件可以突破这些组件之间的有效隔离,也就是说,攻破应用程序体系架构的一个部分,即可迅速攻破其他部分。例如,利用Web应用程序中的文件泄露漏洞可从数据库中获得包含敏感数据的文件。同样,利用SQL注入漏洞,你可以使用数据库函数在服务器文件系统上写入任意文件,并在可通过浏览器访问的Web root中创建脚本,从而直接攻破应用程序层。 题目6答案: 在攻击过程中,如果使用HTTPS进行通信,可以避开某些网络层入侵检测系统的检测。但是,如果使用HTTP进行通信,你的自动攻击的速度会更快。通过不同的协议访问时,应用程序可能包含不同的内容,或表现出不同的行为,因此,一般情况下,你应该使用这两种协议进行测试。 获奖者名单: 1. 冠军:冰雪风谷 2. 亚军:tobe 3. 季军:kuang110 4. 纪念奖:syrhades、hacknet、hljleo 恭喜以上几位朋友,请与本周内(逾期作废)在这里登记您的信息,赠书我们会尽快为您送出。 活动背景:为了增进网站内会员的技术交流,由图灵出版社举办有奖读书活动 ![]() ![]() 作者:(英)Dafydd Stuttard;Marcus Pinto
![]() 作者:(美)Markus Jakobsson;Zulfikar Ramzan
本书由世界顶级安全专家亲自执笔,系统地介绍了shellcoer应该掌握的知识,详细阐述了系统安全、应用程序安全、软件破解、加密解密等安全领域的核心问题,并用大量的实例说明如何查明Windows、Linux、Solaris等流行的操作系统中的安全漏洞和Oracle等数据库中的安全隐患。更难能可贵的是,本书还从更高的理论层次指导读者如何成为一名优秀的shellcoder。 本书由看雪论坛『PTG翻译小组』组长arhat翻译! 一、活动规则 9.24至10.18期间,准确、全面回答以下6道题目的朋友,均有机会获奖。回复题目请直接跟帖。大赛结束后我们会尽快公布正确答案及获奖者名单。 二、奖项设置 1. 冠军1名:奖励图书5本 2. 亚军1名:奖励图书3本 3. 季军1名:奖励图书2本 4. 纪念奖5名:奖励图书1本 奖品图书可到图灵网站(www.turingbook.com)任意选取。 注:本次读书活动的解释权归看雪软件安全论坛和图灵公司所有! 三、题目 题目1. 在通过提交专门设计的输入探查一个应用程序中是否存在常见的漏洞时,应用程序频繁返回包含调试信息的详细错误消息。有时,这些消息与其他用户造成的错误有关。这种情况发生一次后,就无法令其再次发生。这表示应用程序存在什么逻辑缺陷?接下来你该如何处理? 题目2. 要针对应用程序的一项敏感功能实施 XSRF 攻击,必须满足什么前提条件? 题目3. 哪三种防御措施可用于防止 JSON 劫持攻击? 题目4. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器。已经发现一个漏洞,可以在应用程序服务器上执行任意操作系统命令。那么如何利用这个漏洞获取保存在数据库中的敏感应用程序数据? 题目5. Linux、Apache、MySQL 与 PHP 等体系架构组件常被发现安装在同一台物理服务器上。为何这样做会削弱应用程序体系架构的安全状况? 题目6. 如果一个 Web 服务器允许通过 HTTP 与 HTTPS 访问它的功能,在查询漏洞时,使用这两个协议有何差别?
|
||
|
此帖于 2009-10-19 10:13 被 图灵turing 最后编辑
|
![]() 普通会员
|
题目4. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器。已经发现一个漏洞,可以在应用程序服务器上执行任意操作系统命令。那么如何利用这个漏洞获取保存在数据库中的敏感应用程序数据? 一、如果可以执行系统命令,查询其是否有写权限,如果可以,可以使用上传或写二进制文件的方法植入木马并运行,然后以应用程序服务器为跳板对数据库服务器进行渗透,方案一:直接渗透(主机端口扫描、操作系统漏洞探测、数据库安全扫描、应用程序漏洞探测等)。方案二:嗅探数据库通讯账户及密码,如果得到账户密码后不能直接远程连接数据库,可用应用程序服务器做跳板进行连接。 二、如没有写权限,则执行系统命令查看应用程序文件,挖掘程序缺陷。如获得账户密码配置信息;如是web应用程序,可篡改数据库查询语句(这里说的篡改不是直接改写web程序,因为没有写权限,我们说的篡改是通过sql注入等手段实现的,数据库查询),查询敏感信息,通过正常web程序界面的回显获得敏感信息。 题目5. Linux、Apache、MySQL 与 PHP 等体系架构组件常被发现安装在同一台物理服务器上。为何这样做会削弱应用程序体系架构的安全状况? 组件增加了,安全隐患也增加了,风险也累加了。违反传说中的“最小服务”原则。 题目6. 如果一个 Web 服务器允许通过 HTTP 与 HTTPS 访问它的功能,在查询漏洞时,使用这两个协议有何差别? 简单来说http未加密,https使用安全套接字层(SSL)进行信息交换并支持证书。 探测漏洞时候,如果是探测传输层面的缺陷,http可能存在明文传输,敏感信息被泄露的安全隐患。https在传输的时候数据是经过加密的,可在一定程度上起到防监听的作用。 如果是探测应用程序的缺陷,个人感觉没什么差别,因为http和https主要的区别在于对通信的加密和证书的认证,应用程序的缺陷探测,一般方法是提交测试代码,查看回显(如sql注入,xss等),是应用程序层面的探测,与通讯关系不大。
|
||
|
此帖于 2009-09-25 13:08 被 kuang110 最后编辑
|
![]() 普通会员
|
Google了一下:: 1 缓冲区溢出,,可以将专门设计的输入逐渐减少,或者从应用程序频繁返回包含调试信息的详细错误消息中得到一些具体信息进行下一步的调试。 2 应用程序赖以管理会话的信息对浏览器的透明性问题。我们知道,为了提高Web应用的便利性,用来管理会话的信息,例如Cookie或者基于HTTP的身份验证(例如HTTP基本认证、非基于表单的认证)等敏感信息,都是由浏览器来存放的,并在每当向需要身份验证的应用程序发送请求时自动捎带上这些信息。也就是说,浏览器可以访问会话管理信息,如果Web应用程序完全依赖于这类信息来识别一个用户会话,这就为跨站请求伪造创造了条件。 3(1)应用程序应使用标准的反XSRF防御阻止跨域请求访问敏感数据。访问JSON对象的请求中应包含一个无法预测的参数,并且在返回数据前应对其进行确认。 (2)当应用程序从它自己的域中获取JSON对象时,并不仅限于使用<script>标签包含这个对象。因为请求在站内执行,客户端代码可以使用XMLHttpRequest自由访问响应数据,并可在将其作为JavaScript解释前对它进行其他处理。这意味着,为防止JOSN劫持,应用程序可以在响应的开始部分插入无效或有问题的JavaScript,客户应用程序在处理脚本前将会删除这些内容。 (3)由于应用程序可以使用XMLHttpRequest获取JSON数据,因此它也可以使用POST请求完成这项任务。如果应用程序仅接受使用POST访问JSON对象的请求,它就能够阻止第三方站点将这些请求包含在<script>标签内。 4 下载数据库并获取管理员信息,上传木马程序。。。
|
||
|
![]() 普通会员
|
题目1. 在通过提交专门设计的输入探查一个应用程序中是否存在常见的漏洞时,应用程序频繁返回包含调试信息的详细错误消息。有时,这些消息与其他用户造成的错误有关。这种情况发生一次后,就无法令其再次发生。这表示应用程序存在什么逻辑缺陷?接下来你该如何处理? 一、缓冲区溢出 二、程序二进制文件被修改(可能由于逻辑错误,造成的自修改) 三、程序辅助文件被修改(配置文件、注册文件、注册表项等) 反汇编调试一下 核对程序是否被修改,反汇编查看修改原因 查看程序辅助文件是否被修改 题目2. 要针对应用程序的一项敏感功能实施 XSRF 攻击,必须满足什么前提条件? 一、XSRF是基于浏览器的攻击,我觉得首先是浏览器必须支持请求的处理。(当然绝大多数浏览器都支持,不排除某些安全等级较高的机构使用特殊开发的专用浏览器) 二、用户标识。利用网站对用户标识的信任(cookie,session 和特殊应用标识)及信任时间窗机制。如果用户的每一次请求的提交都要进行严密的验证(用户名、密码、验证码等),我相信会给XSRF攻击带来一定的困难。 三、XSRF请求的构造,构造结构是多样的,图片tag、JavaScript等等。因此需要web程序本身支持一定的脚本(大多数都支持,比如论坛、blog等),并未对用户输入进行严格过滤,输出未严格转译。如对脚本字符进行严格过滤或转译,做好任何一点都可以减少XSRF攻击的发生。 题目3. 哪三种防御措施可用于防止 JSON 劫持攻击? 呵呵这个问题上面没说全面哈(主要是中午下班,着急吃饭去了。我们食堂要走好远的…………) 个人认为 一、应用层面对提交过来的请求进行过滤。如屏蔽对JSON对象的GET方法,因为 <script src=""> 来装在脚本文件使用的是GET方法。 二、使请求中的参数不可预测。 三、使JSON文件无法直接被外部访问,仅本地程序可以访问到。 四、在响应的开始部分插入无效或有问题的JavaScript,这个感觉不是很好。但是确实可以起到一定作用。如插入while(1);, 使JavaScript一直循环。但是这样毕竟破坏了json的格式,取巧的方法但不是很完美的方法。
|
||
|
![]() 初级会员
|
题目1. 在通过提交专门设计的输入探查一个应用程序中是否存在常见的漏洞时,应用程序频繁返回包含调试信息的详细错误消息。有时,这些消息与其他用户造成的错误有关。这种情况发生一次后,就无法令其再次发生。这表示应用程序存在什么逻辑缺陷?接下来你该如何处理? 答:根据题意该程序应该是多用户程序,调试信息中的错误与其他用户造成的错误有关,说明程序进程在处理多用户输入请求时,各个用户进程(或线程)是并发的,而程序进程在处理多用户请求时发生混乱,返回错误信息未发送到各个相应用户进程(或线程),导致出现与其他用户错误有关的调试信息。情况发生一次就不会再次发生,说明应用程序的处理流程发生了改变,如楼上所说可能是由于缓冲区溢出导致,或程序二进制文件改变等原因。总的来说存在的逻辑缺陷有可能是由于多用户并发请求,导致程序处理流程改变。处理办法应该先通过调试手段弄清程序处理用户输入的流程,找到导致流程改变的函数或指令,然后做相应的修改。
|
||
|
![]() |
| 书签 |
| 主题工具 | |
| 显示模式 | |
|
|
|||||
相似的主题
|
||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 |
| 【推荐】Loading_a_DLL_from_Memory | KuNgBiM | 『外文翻译区』 | 15 | 2009-11-14 12:17 |
| 【推荐】Everything | linhanshi | 『资源下载』 | 2 | 2009-08-04 02:20 |
| 第二阶段◇第四题 【推荐】two to four | 十三少 | 珠海金山2007逆向分析挑战赛 | 10 | 2007-10-14 22:05 |