【笔记】网易微专业-Web安全工程师-04.WEB安全实战-8.SQL盲注

上一节我们在实战中介绍了SQL注入的原理和危害,这一节我们要实战SQL盲注,与普通的SQL注入相比,数据库返回的结果不会显示在页面上,只会返回成功/失败或者真/假,这无形中加大了我们注入的难度。

SQL盲注的一种思路:采用where语句“真and真=真”,“真and假=假”,把我们需要确定的条件放在and之后,当我们的猜测为真那么返回为真,猜测错误则返回为假。具体怎么应用呢?我们在实战中学习。

DVWA实战:

1. 打开phpStudy或xampp,运行Apach和MySQL;

2. 浏览器进入DVWA主界面,在左侧栏选择DVWA Security安全等级为Low,然后进入SQL Injection(blind);

我们发现当我们输入ID后,只返回告诉我们该用户存不存在。如果我们输入1‘ and ‘1024‘=‘1024,提示存在,因为‘1024‘=‘1024‘为真,如果是1‘ and ‘1024‘=‘1025,则提示不存在。

利用上述的方法,我们可以尝试获得数据库名的长度,输入:

1‘ and length(database())=1 #  提示不存在

1‘ and length(database())=2 #  提示不存在

1‘ and length(database())=3 #  提示不存在

1‘ and length(database())=4 #  提示存在

这样我们就知道数据库名的长度为4,接下去就是一个个猜测数据库名,以第一个字符为例,输入:

1’ and ascii(substr(databse(),1,1))>97 # 第一个字符的ascii值大于97(即小写a)

提示存在,说明第一个字符ascii是大于a的,我们采用二分法逐一缩小范围,最终获得第一个字符为小写d,采用同样的方法,能把4个字符都试出来:dvwa

采用这样的思路,我们能像上一节一样获得字段名,表明,数据库名,用户,密码等信息,但是我们发现相比上一节,盲注需要的劳动力更大,更繁琐,因此sqlmap是解放劳动力的神器。

除了以上这种思路,我们还有另外一种方法,就是延迟注入,即当条件为真时,延时返回:

1’ and if(length(database())=4,sleep(5),1) #,报文延迟,说明if条件为真,数据库名的长度为4个字符;

3. 关于medium,high和impossible等级的SQL盲注,思路跟上一节差不多,这里就不再赘述了。

原文地址:https://www.cnblogs.com/kplayer/p/8467710.html

时间: 2024-11-07 10:15:51

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-8.SQL盲注的相关文章

网易微专业大数据工程师

本微专业由国际知名教育集团Wiley开发,面向全球化需求,并由Boolan博览网结合国内应用进行扩充.助你系统掌握大数据必备技能和核心技术,包括工具选择,存储.编程.处理和管理数据架构等.全网独家大数据双语课程.英文内容,中文字幕,原版内容,保证质量.Wiley权威教育资源,顶尖国外公司高管.国内一线工程师协同开发,Boolan博览网学习服务支持.强强联手,打造最有特色的大数据课程. 课程安排1.大数据基础必修 做为一名大数据工程师,不仅仅要了解核心技术,还需要了解技术架构是如何和商业环境.业务

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-2.暴力破解

KP君之前买了一个拉杆箱,在初始设置密码时不熟悉步骤,一时手抖,密码已经设好,但不知道设置了什么密码,欲哭无泪.想要找回密码,只能一个个试验,拉杠箱的密码锁有3位,对应000~999,那么最多需要1000次就能打开密码,这就是简单的"暴力破解". 暴力破解(Brute Force):核心就是"穷举法",猜出用户的密码.看起来似乎工程量很大,但是通常用户设置密码都不太复杂,因此利用常用的密码字典,就能破获大部分的密码.理论上来说,只要给定足够的时间,暴力破解就一定能破

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-3.命令注入

命令注入(Command Injection):是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的. 前面的基础课程中,我们提到命令注入需要三个条件: 1. 是否调用系统命令? 2. 函数/参数是否可控? 3. 是否拼接输入? 具体怎么应用,我们在接下去的实战中学习和体会. DVWA实战: 1. 打开phpStudy或xampp,运行Apach和MySQL: 2. 浏览器进入DVWA主界面,在左侧栏选择DVWA Security安全等级为Low,然后进入Command Inj

网易 微专业

目前买了以下的网易微专业课程,需要的可留言. iOS开发工程师 测试工程师 新媒体视频导演 前端开发 web安全 交互设计师 产品经理 独立音乐制作人 产品运营 安卓 UI设计师 java开发工程师 python web IT项目管理 C++开发工程师

【安全牛学习笔记】​手动漏洞挖掘-SQL盲注

手动漏洞挖掘-----SQL盲注 不显示数据库内建的报错信息 内建的报错信息帮助开发人员发现和修复问题 报错信息提供关于系统的大量有用信息 当程序员隐藏了数据库内建报错信息,替换为通用的错误提示,sql注入将 无法依据报错信息判断注入语句的执行结果,即 盲 思路:既然无法基于报错信息判断结果,基于逻辑真假的不同结果来判断 1'and 1=1--+ 1'and 1=2--+ select * from table_name where id='1' orderby 2--'; 课时91 手动漏洞挖

小白日记42:kali渗透测试之Web渗透-SQL盲注

SQL盲注 [SQL注入介绍] SQL盲注:不显示数据库内建的报错信息[内建的报错信息帮助开发人员发现和修复问题],但由于报错信息中提供了关于系统的大量有用信息.当程序员隐藏了数据库内建报错信息,替换为通用的错误提示,SQL注入将无法依据报错信息判断注入语句的执行结果,即为盲注. 思路:既然无法基于报错信息判断结果,基于逻辑真假的不同结果来判断 a.  1' and 1=1--+ b.  1' and 1=2--+    [输入前真后假,无返回,页面没被执行] ###a与b比较,表明存在SQL注

Web系统常见安全漏洞及解决方案-SQL盲注

关于web安全测试,目前主要有以下几种攻击方法: 1.XSS 2.SQL注入 3.跨目录访问 4.缓冲区溢出 5.cookies修改 6.Htth方法篡改(包括隐藏字段修改和参数修改) 7.CSRF 8.CRLF 9.命令行注入 今天主要讲下SQL盲注. 一.SQL 盲注.发现数据库错误模式.跨站点脚本编制 严重性: 高 类型: 应用程序级别测试 WASC威胁分类: 命令执行类型:SQL 注入 CVE 引用: 不适用 安全风险: 1.      可能会查看.修改或删除数据库条目和表   ---S

【笔记】网易微专业-Web安全工程师-02.WEB安全基础

课程概述: 万丈高楼平地起,楼能盖多高,主要看地基打的好不好.学习任何知识都是一样的,打好基础是关键,通过本课的学习,你将了解一些常见的Web漏洞,以及这些漏洞的原理和危害,打好地基,为后面建设高楼大厦做好准备. 课程大纲: 第一章.无处不在的安全问题 第一节.常见的安全事件 第二章.常见Web漏洞解析 第一节.XSS 第二节.CSRF 第三节.点击劫持 第四节.URL跳转 第五节.SQL注入 第六节.命令注入 第七节.文件操作漏洞 笔记心得: 1. 无处不在的安全问题 "钓鱼":利用

【笔记】网易微专业-Web安全工程师-05.WEB安全体系建设

课程概述 未知攻,焉知防?通过前面的课程我们掌握了各种攻击技巧,本课将教会大家如何在企业进行安全建设,达到知攻知防的境界,这也是各个公司最终需要的安全人才. 课程大纲 第一节.SDL介绍 第二节.漏洞和事件处理 第三节.安全运营概述 1. SDL介绍 安全开发生命周期(Security Development Lifecycle) 培训:核心安全培训 需求:安全需求分析/质量要求,Bug数量/安全和隐私风险评估 设计:设计需求分析/减小攻击面 实施:使用指定工具/启用不安全函数/静态解析 验证: