网站大量收购独家精品文档,联系QQ:2885784924

Web安全与防护 实训指南 3.3.1手动盲注.pdf

Web安全与防护 实训指南 3.3.1手动盲注.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

手动盲注

【实训目的】

1.掌握基于布尔盲注的原理与使用方法。

2.掌握基于时间延迟盲注的原理与使用方法。

3.掌握常用到的MySQL的函数,如substr()、ascii()、length()等的意义与使

用方法。

【实训原理】

基于布尔盲注就是进行SQL注入时根据页面返回的True或者是False来得

到数据库中的相关信息,因此可以通过是否返回页面来判断做为条件是的SQL

语句的正确性,从而实现盲注的目的。

【实训环境】

由于DVWAMaster版本的SQLInjection(Blind)不显示输出内容,为了更好

的体现实现效果,需要修改DVWA\vulnerabilities\sqli\source\low.php文件,将文

件中的自$num=@mysqli_num_rows($result);至$html.=preUserIDis

MISSINGfromthedatabase./pre;内容更换为:

while($row=@mysqli_fetch_assoc($result)){

//Getvalues

$first=$row[first_name];

$last=$row[last_name];

//Feedbackforenduser

$html.=preID:{$id}br/Firstname:{$first}br/Surname:

{$last}/pre;

}

【实训步骤】

步骤一、分析SQL注入漏洞所在页面功能。

登录DVWA系统,选择左侧“DVWASecurity”中的low级别,再单击左侧

的“SQLInjection(Blind)”,出现如下图界面。

图3-15DVWA系统盲注工作界面

这里有UserID输入框,输入用户ID,点击“submit”按钮,将会显示用户

ID、First_name、Sunname,如我们输入1,则显示ID:1,First_name:admin,

Sunname:admin。但再输入单引号、双引号或者abcd之类的其它值,不再显示

任何内容。

可以猜测,应用程序的SQL语句:

selectfirst_name,sunnamefrom表名whereID=XX;

或selectfirst_name,sunnamefrom表名whereIDXX;

其中“XX”为用户输入的值。

但是不显示调试信息,可以推断即使存在注入漏洞,也需要采用盲注的方法

进行注入。

步骤二、判断是否存在注入,注入是字符型还是数字型。

猜测其存在字符型注入漏洞,因此输入1and1=1#,发现有内容显示。

图3-16DVWA系统盲注测试结果图

再继续输入1and12#,无内容显示,判断存在字符型注入漏洞。

步骤三、猜解当前数据库名。

想要猜解数据库名,首先要猜解数据库名的长度,然后挨个猜解字符。

1.猜解数据库名的长度

输入1andlength(database())=1#,无显示。依次尝试database()=2,3,4,5

当尝试到4的时候显示如下图:

图3-17DVWA系统盲注猜测数据库名长度结果图

说明length(database())4是真的,因此数据库名长度为4。

2.采用二分法猜解数据库名

首先猜解首字母,再依次猜解其它字母。猜解时最好要先判断字母是大写字

母、小写字母、数字或下划线,然后再逐渐进行猜解。几个典型的字符的ASCII

码如下表:

表3-3典型字符的ASCII值

字符ASCII码字符ASCII码

A

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档