码迷,mamicode.com
首页 > Web开发 > 详细

黑客攻防技术宝典web实战篇:利用信息泄露习题

时间:2019-05-19 11:49:43      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:lin   ble   val   渗透测试   containe   攻击   mail   http   The   

猫宁!!!

参考链接: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实战篇:利用信息泄露习题

标签:lin   ble   val   渗透测试   containe   攻击   mail   http   The   

原文地址:https://www.cnblogs.com/landesk/p/10888558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!