猫宁!!!

参考链接: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 1
Line 1: Incorrect syntax near ‘having1’.
从中可以得出什么结论?应用程序中包含任何可被利用的条件吗?

这说明应用程序将输入直接插入动态构建的查询中。但是,如错误消息中的表达
式 having1 所示,它似乎删除了输入中出现的任何空白符。
当然可以对这种条件加以利用。可以使用 SQL 注释而不是空白符来分配查询中的
语法项。例如:
https://wahh-app.com/list.aspx?artist=foo'having1=1--
这将返回不同的错误消息:
Server: Msg 8118, Level 16, State 1, Line 1
Column 'users.ID' is invalid in the select list because it is not contained
in an aggregate function and there is no GROUP BY clause.
这证实可以对上述条件加以利用,并完成了枚举所执行的查询的结构的第一个步
骤。

2. 当对各种参数进行模糊测试时,应用程序返回以下错误消息:
Warning: mysql_connect() [function.mysql-connect]: Access denied for
user ‘premiumdde’@’localhost’ (using password: YES) in
/home/doau/public_html/premiumdde/directory on line 15
Warning: mysql_select_db() [function.mysql-select-db]: Access denied
for user ‘nobody’@’localhost’ (using password: NO) in
/home/doau/public_html/premiumdde/directory on line 16
Warning: mysql_select_db() [function.mysql-select-db]: A link to
the server could not be established in
/home/doau/public_html/premiumdde/directory on line 16
Warning: mysql_query() [function.mysql-query]: Access denied for
user ‘nobody’@’localhost’ (using password: NO) in
/home/doau/public_html/premiumdde/directory on line 448
从中可以获得哪些有用的信息?

该错误消息提供了应用程序用于访问数据库的用户名、连接模式、应用程序 Web
内容的绝对文件路径,以及生成错误的脚本的行号。孤立来看,上述每一项信息
似乎都无关紧要。但是,如果结合其他漏洞,渗透测试员就可以利用这些信息设
计出针对应用程序的可怕攻击。

3. 在解析应用程序的过程中,在服务器上发现了一个激活了目录列表的隐藏目
录,其中似乎保存着大量以前用过的脚本。请求其中一个脚本返回以下错误消息:
CGIWrap Error: Execution of this script not permitted
Execution of (contact.pl) is not permitted for the following reason:
Script is not executable. Issue ‘chmod 755 filename’
Local Information and Documentation:
CGIWrap Docs: http://wahh-app.com/cgiwrap-docs/
Contact EMail: helpdesk@wahh-app.com
Server Data:
Server Administrator/Contact: helpdesk@wahh-app.com
Server Name: wahh-app.com
Server Port: 80
Server Protocol: HTTP/1.1
Request Data:
User Agent/Browser: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT
5.1; .NET CLR 2.0.50727; FDM; InfoPath.1; .NET CLR 1.1.4322)
Request Method: GET
Remote Address: 192.168.201.19
Remote Port: 57961
Referring Page: http://wahh-app.com/cgi-bin/cgiwrap/fodd
是什么原因造成了这个错误?可以立即发现哪些常见的 Web 应用程序漏洞?

这是由 cgiwrap 创建的系统生成的错误消息。它表示因为没有适当的文件权限,
所请求的脚本无法在服务器上执行。因此,这个脚本可能没有多少用处。
错误消息中包含了一些可能有用的信息,包括一个电子邮件地址。但是,更重要
的是,其中包含了从客户端请求中复制的各种详细信息。因此,应探查服务器如
何处理相关请求消息头中的专门设计的输入,以了解错误消息是否易于受到 XSS
攻击。请注意,用户可能会受到诱惑,从而通过 Flash 对象提出包含任意请求消
息头的请求。

4. 在探查一个请求参数的功能并试图确定它在应用程序中的作用时,如果请求
以下 URL:
https://wahh-app.com/agents/checkcfg.php?name=admin&id=13&log=1
应用程序将返回以下错误消息:
Warning: mysql_connect() [function.mysql-connect]: Can’t connect to
MySQL server on ‘admin’ (10013) in
/var/local/www/include/dbconfig.php on line 23
这条错误消息是由什么原因造成的?为此应探查什么漏洞?

造成错误消息的原因是因为在 name 参数中提交了 admin 值。错误消息指出应用
程序尝试(并且无法)连接到名为 admin 的主机上的数据库。似乎应用程序允许
渗透测试员控制将用于执行请求的数据库。
应尝试提交所控制的服务器的 IP 地址或主机名,看应用程序是否会连接到服务
器。还应尝试猜测内部网络中的一系列 IP 地址,看是否可以查找到可以从应用
程序服务器访问的其他数据库。
鉴于所提供的主机名已被复制到错误消息中,因此还应调查应用程序是否易于受
到 XSS 攻击。与应用程序中的主要功能相比,应用程序通常并不对错误消息等次
要内容实施严格的输入确认和访问控制。

5. 当对一个请求进行模糊测试,以探查各种漏洞时,测试员轮流在每个请求参
数中提交了一个单引号。其中一个请求的响应包含了 HTTP 500 状态码,表示应
用程序可能存在 SQL 注入漏洞。消息的全部内容如下:
Microsoft VBScript runtime error ‘800a000d’
Type mismatch: ‘ [string: “’”]’
/scripts/confirmOrder.asp, line 715
该应用程序是否易于受到攻击?

这条错误消息由一个脚本生成,该脚本正尝试将基于字符串的输入分配给一个数
字参数。似乎只要在此参数中提交的数据并非数值,就会触发这个错误。没有任
何迹象表明输入导致了数据库错误,或者由数据库处理。几乎可以肯定此参数不
易于受到 SQL 注入攻击。

黑客攻防技术宝典web实战篇:利用信息泄露习题的更多相关文章

  1. 黑客攻防技术宝典web实战篇:核心防御机制习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注 ...

  2. 黑客攻防技术宝典web实战篇:攻击访问控制习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 一个应用程序可能通过使用 HTTP Referer 消息头实施访问控制,但它的正常行为并没 ...

  3. 黑客攻防技术宝典web实战篇:定制攻击自动化习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 指出使用自动技巧在应用程序中枚举标识符时用到的 3 个标识符“触点”. (a) HTTP ...

  4. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  5. 黑客攻防技术宝典Web实战篇(二)工具篇DVWA Web漏洞学习

    DVWA是一个学习Web漏洞的很好的工具. DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/con ...

  6. 黑客攻防技术宝典web实战篇:攻击应用程序架构习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一 ...

  7. 黑客攻防技术宝典web实战篇:攻击其他用户习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应 ...

  8. 黑客攻防技术宝典Web实战篇(二)工具篇

    扫描工具.中间攻击工具.加密解密工具等. 1 TM Thread Module 2 burpsuite 代理.中间攻击.repeatur.spider.暴力破解(intrude).加密.解密.扫描器 ...

  9. 黑客攻防技术宝典Web实战篇(一)Web应用程序技术基础

    在开展Web应用程序渗透测试之前请先了解下面列出的这些内容,如果不是很懂的话,请读David Gourley & Brian Totty的HTTP权威指南也叫HTTP:The Definiti ...

随机推荐

  1. [unity3d]unity平台的预处理

    在开发中,特别是unity的跨平台中,我们常常会在各个平台游走,如安卓版,苹果版,PC版.......在此不同的平台上,有可能我们须要做不同的操作.然而我们就能够用unity的自带的平台宏定义方式来做 ...

  2. java8 stream sorted

    1.对象类型配列 List<Person> list = Arrays.asList( new Person(22, "shaomch", "man" ...

  3. plsql 无需配置客户端连接.

    plsql 无需配置客户端连接. (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.5)(PORT=1521)))(C ...

  4. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例

    一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...

  5. Linux和Windows设备驱动架构比较

    毕业后一直在学操作系统, 有时候觉得什么都懂了,有时候又觉得好像什么都不懂,但总体来说自认为对操作系统实现机制的了解比周围的人还是要多一些.去年曾花了几个星期的晚上时间断断续续翻译了这篇对Linux和 ...

  6. C语言的一些特殊使用方法————————【Badboy】

    一:特殊的字符串宏 [cpp] #define A(x) T_##x #define B(x) #@x #define C(x) #x 我们如果x=1, 则上面的宏定义会被解释成下面的样子 A(1)- ...

  7. STL review:vector & string & map & struct

    I.vector 1.头文件:#include<vector>                        //容器vector是一个能实现随机存取.插入删除的动态数组,还可以当栈使. ...

  8. poj 1821 Fence(单调队列优化DP)

    poj 1821 Fence \(solution:\) 这道题因为每一个粉刷的人都有一块"必刷的木板",所以可以预见我们的最终方案里的粉刷匠一定是按其必刷的木板的顺序排列的.这就 ...

  9. ie下文件上传无权访问的问题

    最近项目遇到个问题,ie下文件上传无权访问,在网上找了很久才找到答案,原来是因为ie下不能用js触发input=file的点击事件,必须手动点击才可以.

  10. linux内存操作--ioremap和mmap

    最近在做视频输出相关的东西,对于预留给framebuffer的内存使用不是很清楚,现在找到一些资料整理一下,以备使用.if (想看使用方法)  goto   使用方法: 对于一个系统来讲,会有很多的外 ...