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 闯关前知识点学习的更多相关文章

  1. sqli-labs-master less05 前 知识点学习

    1. left()函数: left(a,b)从左侧截取a的前b位,正确则返回1,错误则返回0 例: select left(database(),1)='s'   结果返回1 先查询数据库 datab ...

  2. sql-lib闯关1-10关

    闯关之前我们需要搭建所需环境SQLi-Labs SQLi-Labs是一个专业的SQL注入练习平台,该平台包含了以下在测试场景中常见的注入类型: 1.报错注入(联合查询) ​     1)字符型 ​   ...

  3. CTFhub-WEB前置-http协议闯关

    前情提要: 在渗透学习过程中,web的基础知识很重要,在这里通过long long ago之前学习的http基础,并结合网上的CTFhub--WEB前置之http协议闯关,对web基础知识进行加固并查 ...

  4. 网页闯关游戏(riddle webgame)--H5刮刮卡的原理和实践

    前言: 之前编写了一个网页闯关游戏(类似Riddle Game), 除了希望大家能够体验一下我的游戏外. 也愿意分享编写这个网页游戏过程中, 学到的一些知识. 对于刮刮卡, 想必大家都很熟悉, 也很喜 ...

  5. 《JavaScript 闯关记》

    为何写作此课程 stone 主要负责基于 Web 的企业内部管理系统的开发,虽然能够熟练地使用 JavaScript,但随着对 JavaScript 的理解越来越深,才发现自己尚未掌握其精髓. 201 ...

  6. 《JavaScript闯关记》视频版硬广

    <JavaScript闯关记>视频版硬广 stone 在菜航工作时,兼任内部培训讲师,主要负责 JavaScript 基础培训,2016年整理的<JavaScript闯关记>课 ...

  7. 某xss挑战赛闯关笔记

    0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...

  8. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  9. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

随机推荐

  1. 4G工业路由器的性能介绍和应用需求

    4G工业路由器可以实现数据的远程传输和设备控制功能,主要应用的场景包括智能电网.智能交通.智能家居.才智金融.工业自动化.公共安全.环境保护.数字化医疗等领域,特别是大数据或是视频传输等.那么4G工业 ...

  2. rclone 云盘同步工具的正确打开方式

    Rclone 是一款的命令行工具,支持在不同对象存储.网盘间同步.上传.下载数据. 官网网址:https://rclone.org/ Github 项目:https://github.com/ncw/ ...

  3. .NetCore中简单使用EasyNetQ

    前言 我们在.Net中使用RabbitMQ,最原始的就是基于RabbitMQ.Client进行编码,在这个过程中我们需要通过代码约定和维护队列,Exchange等.如果是自行编码封装通用型的Rabbi ...

  4. python爬虫03 Urllib库

    Urllib   这可是 python 内置的库 在 Python 这个内置的 Urllib 库中 有这么 4 个模块 request request模块是我们用的比较多的 就是用它来发起请求 所以我 ...

  5. STM32最小系统板OLED贪吃蛇

    上次用STM32F103最小系统板做了一个简单的OLED贪吃蛇小游戏,以下为游戏效果动图: 主要实现内容包括:贪吃蛇移动.方向控制.食物生成.分数处理.死亡判定. 这次想把自己的制作思路分享给大家,不 ...

  6. spark推测机制及参数设置

    推测执行机制 推测任务是指对于一个Stage里面拖后腿的Task,会在其他节点的Executor上再次启动这个task,如果其中一个Task实例运行成功则将这个最先完成的Task的计算结果作为最终结果 ...

  7. 多级iframe中,获取元素相对于浏览器左上角的坐标(非当前frame)

    搜索了好多文章,都不是自己想要的,所以在此贴下自己的解决方案,做个笔记. 1.常规需求:获取当前元素距离左边.顶部的距离 1 var x = $(div).offset().left; 2 var y ...

  8. JS如何判断表单中用户选择哪个哪个选项?

    JS如何判断表单中用户选择哪个哪个选项? HTML代码: <form name="form1" onsubmit="return foo();"> ...

  9. linux基本操作之linux登陆

    一 文本登陆方式: 输入用户名与密码:/etc/passwd文件对照(口令文件,保存基本的用户信息):/etc/shadow文件对照(影子文件,保存密码信息):启动相应的shell程序:用户得到 一个 ...

  10. centos6安装calamari

    安装操作系统 首先安装操作系统centos6,安装过程选择的是base server,这个不相同不要紧,出现缺少包的时候去iso找出来安装就可以了 calamari的简单介绍 首先简单的介绍下cala ...